62,628
社区成员
发帖
与我相关
我的任务
分享
import java.util.concurrent.*;
public class Exercise30_4 {
private static Integer sum = 0;
public static void main(String[] args) {
ExecutorService executor = Executors.newCachedThreadPool();
for (int i = 0; i < 10000; i++) {
executor.execute(new AddSum());
}
executor.shutdown();
while(!executor.isTerminated()) {
}
System.out.println("Sum : " + sum);
}
private static class AddSum implements Runnable {
@Override
public void run() {
synchronized(sum) {
sum += 1;
}
}
}
}import java.util.concurrent.*;
public class Exercise30_4 {
private static Sum sum = new Sum();
public static void main(String[] args) {
ExecutorService executor = Executors.newCachedThreadPool();
for (int i = 0; i < 10000; i++) {
executor.execute(new AddSum());
}
executor.shutdown();
while(!executor.isTerminated()) {
}
System.out.println("Sum : " + sum.num);
}
private static class AddSum implements Runnable {
@Override
public void run() {
synchronized(sum) {
sum.num += 1;
}
}
}
private static class Sum {
public static int num = 0;
}
}