gpt4 book ai didi

java - 选择线程池中要关闭的线程

转载 作者:行者123 更新时间:2023-12-01 13:49:44 24 4
gpt4 key购买 nike

我目前有一个带有 2 个固定线程的线程池,每个线程创建另外 2 个执行任务的线程。我已将其设置为可以在需要时传递命令以停止线程的位置。

我要问的是是否有一种方法可以从线程池中选择特定的固定线程并将其关闭。

我已经完成了关闭线程的所有设置,只需要一种方法来选择两个线程之一并将其关闭并让另一个线程继续运行。

如果有更好的方法来做到这一点,我愿意接受其他选择。

谢谢

最佳答案

What I'm asking is if there is a way to select a specific fixed thread from the threadpool and shut it down.

不是来自池本身,不是。请记住,您不想杀死线程池中的线程,因为可能有更多任务需要执行。

If there is a better way to do this I'm open to other options.

我有一个volatile boolean正在相关任务中检查该任务,以便您可以使其退出。

private volatile boolean shutdownSpecificTask;
...
// then inside of your task you'd do something like
while (!shutdownSpecificTask) {
...
}

在线程池级别进行的唯一类似操作是使用 shutdownNow() 中断所有正在运行的线程。或Future.cancel(true) 。这两个都会中断设置中断标志的线程并导致抛出 InterruptedException 的方法。这样做。

关于java - 选择线程池中要关闭的线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20055703/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com