1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
   | class Solution{          public static char charStr = 'A';          public static int index= 0;               public static  void  main(String[] args){         Runnable task = new Runnable(){                         @Override             public void run(){                 synchronized(this){                                          try{                         int id = Integer.parseInt(Thread.currentThread().getName());                         while(index < 26){                             if(index % 3  ==  id -1){                                 System.out.println("当前线程id:"+(id)+ charStr++);                                 index++;                                 notifyAll();                             }else{                                                                  wait();                             }                         }                                              }catch(Exception e){                                                 e.printStackTrace();                                              }                                                           }                                                                }                               };     	    new Thread(task,"1").start();             new Thread(task,"2").start();             new Thread(task,"3").start();                 }                                                                                                              }
 
 
 
  |