`public class TestThread {
public static int N = 0;
public static void main(String[] args) {
ExecutorService executorService = Executors.newFixedThreadPool(3);//生成一个线程池,同时执行三个线程
for(int i = 0;i<100000;i++)
executorService.execute(new AddNum());
executorService.shutdown();
try {
executorService.awaitTermination(Long.MAX_VALUE, TimeUnit.DAYS);
} catch (InterruptedException e) {
e.printStackTrace();
}//让线程等待等线程执行完了在执行下面的语句(Long.MAX_VALUE是无限大时间如果换成3,TimeUnit.seconds就是最多等待3秒)
System.out.println(TestThread.N);
}
}
class AddNum implements Runnable{
public static Object object=new Object();
@Override
public void run() {
synchronized (object){
TestThread.N++;
}
}
}`