【发布时间】:2019-05-31 21:24:30
【问题描述】:
所以我有一个有 4 个线程的程序,所有线程都在运行。 其中 3 个线程始终在运行,即使程序完成了它的工作。 所以我创建了一些变量,让它们停止。
我将while(true) 更改为while(exit),程序运行正常。
在线程之后,我想运行一些其他语句,但前提是线程已经停止。
我尝试使用 4 个变量,exit、exit1、exit2、exit3 并将它们设置为 false。线程将完成并使这些变量为真。
在 main 中,Thread.start() 之后,如果我想打印一些东西,它不会打印。
Thread1.start();
Thread2.start();
Thread3.start();
Thread4.start();
// System.out.println("Program Ended") --> If i do this, it prints before
// the threads
if(exit && exit2 && exit3 && exit4) {
System.out.println("Program Ended");
// code here
}
有没有办法确保我只在线程停止后才运行一些语句?
【问题讨论】:
标签: java multithreading parallel-processing