?????????????????????

????????????

????1??????????

????A.????????????????????????

????B.??????????????????????????????????????????????????С?

??????????????????????????????????????ж?????????????????

public class RunnableTest implements Runnable {

 private int num = 100;
 Object obj = new Object();

 @Override
 public void run() {
  while (true) {
   synchronized (obj) {
    if (num > 0) {
     try {
      Thread.sleep(100);
     } catch (InterruptedException e) {
      e.printStackTrace();
     }
     System.out.println(Thread.currentThread().getName()
       + "----->" + num--);
    } else {
     break;
    }
   }
  }
 }

 public static void main(String args[]) {
  RunnableTest rt = new RunnableTest();
  Thread t1 = new Thread(rt?? "?????1");
  Thread t2 = new Thread(rt?? "?????2");
  Thread t3 = new Thread(rt?? "?????3");
  t1.start();
  t2.start();
  t3.start();
 }

}