import java.util.ArrayList; import java.util.List; /** * Created by yanfazhongxin on 2020-04-22. * 守护线程 */ public class 加密解密 { public static void main(String[] args) { //两条线程谁启动先没有影响 Thread t1 = new Thread(new Decode()); t1.start(); Thread t2 = new Thread(new Log_thread()); t2.setDaemon(true); t2.start(); } } class Decode implements Runnable { static List<String> list = new ArrayList<>(); String password = String.valueOf(random(4)); public char[] random(int index) { char[] re = new char[index]; Math.random(); for (int i = 0; i < index; i++) { // 指定随机范围 : 64-90 re[i] = (char) ((Math.random() * 26 + 64)); } return re; } @Override public void run() { System.out.println("本次随机密码是:" + password); boolean cnt = true; while (cnt) { String str = String.valueOf(random(4)); if (str.equals(password)) { try { Thread.sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("匹配密码正确是:" + password); list.add(str); cnt = false; } else // System.out.println(str+" 匹配失败"); list.add(str); } } } class Log_thread implements Runnable { @Override public void run() { System.out.println(" Log_thread implements"); // for (int i = 0; i < Decode.list.size(); i++) { while(true){ if ((Decode.list == null)||(Decode.list.size()<1)) { try { Thread.sleep(50); } catch (InterruptedException e) { e.printStackTrace(); } } else System.out.println( " 匹配的密码可能是:" + Decode.list.remove(0)); } } }