java - 如何按需暂停 Java 线程?

标签 java multithreading

我正在用 Java 开发多线程游戏。我有几个从中央线程管理器获取模块的工作线程,然后由中央线程管理器自行执行。现在我希望能够暂停这样一个线程,如果它暂时没有什么可执行的话。我曾尝试从线程管理器调用它的 wait() 方法,但这只会导致它忽略紧随其后的 notify() 调用。

我也用谷歌搜索了一下,只发现大多数网站都提到了 suspend()、pause() 等函数,这些函数现在在 java 文档页面上标记为已弃用。

那么一般来说,按需暂停或继续一个线程的方式是什么?

最佳答案

如果您想停止线程的操作,您可以在线程中使用一个 if block ,并将一个哨兵变量设置为 false。如果线程正在执行循环,这种方法效果最好。

关于java - 如何按需暂停 Java 线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7313227/

相关文章:

java - 如何在不使用 toString() 的情况下从 JAVA 中的 XmlObject 中提取信息?

java - 正则表达式 - 从字符串确定矩阵

multithreading - 在 Clojure 中使用 pmap 来并行化归并排序。程序在结束前挂起约 1 分钟,然后终止

swift - 等待任务完成

java - 基于异步队列的文件写入

multithreading - 如何使Task的updateMessage()立即生效?

java - LDAP:如何使用连接详细信息对用户进行身份验证

java - 线程内线程的优先级

java.util.Date null 与 ProGuard

java - 线程转储 : The hexa-decimal (lock, 条件等) - 它们是什么,以及如何理解它们是什么?