同步线程实现在控制台交替输出

【同步线程实现在控制台交替输出】使用两个同步线程实现在控制台交替输出1A2B3C4D5E……26Z!

public class Test{ private static boolean ok=true; //先定一个局变量 private static Object lock=new Object(); //lock锁public static void main(String[] args) { Thread t1=new Thread(){ public void run(){ synchronized (lock){ for(int i=1; i<=26; i++){ while(!ok){ try{lock.wait }catch(Exception e){ e.printStackTrace(); }}} System.out.print(i+""); ok=flase; lock.notify(); }} }; Thread t2=new Thread(){ public void run(){ synchronized (lock){//调用lock共享一个同步锁 for(char j='A'; j<='Z'; j++){ while(ok){ try{lock.wait }catch(Exception e){ e.printStackTrace(); }}} System.out.print(j+" "); ok=true; lock.notify(); }} }; t1.start(); t2.start(); }}

输出的结果就是:1A 2B 3C 4D 5E 6F 7G 8H 9I 10J 11K 12L 13M 14N 15O 16P 17Q 18R 19S 20T 21U 22V 23W 24X 25Y 26Z

    推荐阅读