2つのスレッドがjに対して1ずつ増加し、他の2つのスレッドがjに対して1ずつ減少するプログラムを作成し、内部クラスの使用を要求する.


/**
 * @author laishengfeng
 * @2014-8-27
 * @TODO       ,      ,         j  1,
 *        j    1(         )
 */
public class Test
{
  public static void main(String[] args) {
  MyThread mt = new MyThread();  //MyThread  
  mt.new InnerThread1().start();
  mt.new InnerThread1().start();
  mt.new InnerThread2().start();
  mt.new InnerThread2().start();
  }

}
class MyThread 
{
  private int j = 100;
  /* j     */
  public class InnerThread1 extends Thread
  {
   public void run() {
   while (j < 120)
   {
    try {
     Thread.sleep(500);
    }catch (Exception ex) {
    }
    j++;
    System.out.println(Thread.currentThread().getName()+"  "+j);
   }
   }
  }
  /* j     */
   public class InnerThread2 extends Thread
  {
   public void run() {
   while (j > 80)
   {
    try {
     Thread.sleep(300);
    }catch (Exception ex) {
    }
    j--;
    System.out.println(Thread.currentThread().getName()+"  "+j);
   }
   }
  }
}

ダイレクトコード  興味のあるMM私