如何在Java中启动/停止/重新启动线程?
我很难找到一种方法来启动,停止和重新启动Java中的线程。
具体来说,我在file
中有一个类Task(当前实现Runnable
)Task.java
。我的主应用程序需要能够在线程上启动此任务,在需要时停止(杀死)该线程,有时还可以杀死并重新启动该线程…
我的第一次尝试是与,ExecutorService
但我似乎找不到办法重新启动任务。当我使用.shutdownnow()
任何将来的呼叫.execute()
失败时,因为ExecutorService
是“关机” …
那么,我该怎么做呢?
回答:
一旦线程停止,你将无法重新启动它。但是,没有什么可以阻止你创建和启动新线程。
选项1:创建一个新线程,而不是尝试重新启动。
选项2:与其让线程停止,不如让它等待,然后当它收到通知时,可以允许它再次工作。这样,线程永远不会停止,并且永远不需要重新启动。
根据评论进行编辑:
要“杀死”线程,你可以执行以下操作。
yourThread.setIsTerminating(true); // tell the thread to stopyourThread.join(); // wait for the thread to stop
以上是 如何在Java中启动/停止/重新启动线程? 的全部内容, 来源链接: utcz.com/qa/430183.html