小编glo*_*one的帖子

主线程超过设定的睡眠时间

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时,主线程不会等到结束的子线程。

java multithreading jvm

1
推荐指数
1
解决办法
708
查看次数

标签 统计

java ×1

jvm ×1

multithreading ×1