【发布时间】:2021-07-05 19:59:34
【问题描述】:
我在尝试停止运行多个线程的程序时遇到问题,所有正在运行的线程都试图找到相同的解决方案,但一旦一个线程找到解决方案,所有其他线程都将停止。
在 main 方法中,我创建了一个线程组并使用 for 循环向其中添加线程并启动它们
ThreadGroup tg = new ThreadGroup("thread group");
Thread th;
for(int i = 0; i<4; i++){
th = new Thread(tg, new Runnable(), "Thread " + i)
th.start();
}
在实现 Runnable 的类中,我在试图弄清楚如何做到这一点时遇到了麻烦,以便一旦其中一个线程找到解决方案,所有线程都会停止。最终发生的是,要么其他线程继续运行,有时线程会相互中断并相互覆盖。
【问题讨论】:
-
您为每个线程编写代码。不要编写代码来完成您不希望它完成的工作。这样一来,您就不必找到任何特殊的方法来阻止它。
标签: java multithreading java-threads