请不要看代码,直接看注释。
import java.util.concurrent.*;
import java.util.concurrent.atomic.*;
import java.util.*;public class AtomicIntegerTest implements Runnable {
  private AtomicInteger i = new AtomicInteger(0);
  public int getValue() { return i.get(); }
  private void evenIncrement() { i.addAndGet(2); }
  public void run() {
    while(true)
      evenIncrement();
  }
  public static void main(String[] args) {
    new Timer().schedule(new TimerTask() {  //我的问题在这里,这里匿名类TimerTask()它的特性是否不管里面有几
//个方法,它都执行?因为run()这个方法,让我联想到线程,但是这里的run()并没有被任何线程执行。
      public void run() {
        System.err.println("Aborting");
        System.exit(0);
      }
    }, 5000); 
    ExecutorService exec = Executors.newCachedThreadPool();
    AtomicIntegerTest ait = new AtomicIntegerTest();
    exec.execute(ait);
    while(true) {
      int val = ait.getValue();
      if(val % 2 != 0) {
        System.out.println(val);
        System.exit(0);
      }
    }
  }
}