public static AtomicInteger num = new AtomicInteger(0);
public static void main(String[] args) throws Throwable {
Runnable runnable = () -> {
for (int i = 0; i < 1000000000; i++) {
num.getAndAdd(1);
}
};
Thread t1 = new Thread(runnable);
Thread t2 = new Thread(runnable);
t1.start();
t2.start();
System.out.println("before sleep");
Thread.sleep(1000);
System.out.println("after sleep");
System.out.println(num);
}
Run Code Online (Sandbox Code Playgroud)
我想设置主线程休眠1000ms,但实际上输出会等到两个子线程计算结束才输出,但是当我把时间调整为100ms时,主线程不会等到结束的子线程。