gpt4 book ai didi

java - 如何在 Java 中启动/停止/重新启动线程?

转载 作者:IT老高 更新时间:2023-10-28 20:33:46 26 4
gpt4 key购买 nike

我很难找到在 Java 中启动、停止和重新启动线程的方法。

具体来说,我在文件 Task.java 中有一个类 Task(目前实现 Runnable)。我的主应用程序需要能够在线程上启动此任务,在需要时停止(杀死)线程,有时还可以杀死并重新启动线程......

我的第一次尝试是使用 ExecutorService,但我似乎找不到重新启动任务的方法。当我使用 .shutdownnow() 时,以后对 .execute() 的任何调用都会失败,因为 ExecutorService 是“关闭”...

那么,我该怎么做呢?

最佳答案

一旦线程停止,您将无法重新启动它。但是,没有什么能阻止您创建和启动新线程。

选项 1:创建一个新线程而不是尝试重新启动。

选项 2: 与其让线程停止,不如让它等待,然后当它收到通知时,您可以允许它再次工作。这样线程就永远不会停止,也永远不需要重新启动。

根据评论编辑:

要“杀死”线程,您可以执行以下操作。

yourThread.setIsTerminating(true); // tell the thread to stop
yourThread.join(); // wait for the thread to stop

关于java - 如何在 Java 中启动/停止/重新启动线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1881714/

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