我正在用 Java 开发多线程游戏。我有几个从中央线程管理器获取模块的工作线程,然后由中央线程管理器自行执行。现在我希望能够暂停这样一个线程,如果它暂时没有什么可执行的话。我曾尝试从线程管理器调用它的 wait() 方法,但这只会导致它忽略紧随其后的 notify() 调用。
我也用谷歌搜索了一下,只发现大多数网站都提到了 suspend()、pause() 等函数,这些函数现在在 java 文档页面上标记为已弃用。
那么一般来说,按需暂停或继续一个线程的方式是什么?
最佳答案
如果您想停止线程的操作,您可以在线程中使用一个 if block ,并将一个哨兵变量设置为 false。如果线程正在执行循环,这种方法效果最好。
关于java - 如何按需暂停 Java 线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7313227/