java - 在 Java 中按键时暂停/取消暂停线程

标签 java multithreading key-bindings

我希望有人能帮助我解决这个问题。我已经寻找这个问题的答案大约一周了,但没有结果。

我目前有一个实现Runnable的自定义线程类,我想在按键时暂停它。根据我的研究,我了解到解决此问题的最佳方法是使用 wait()notify(),由使用 key 的 key 触发绑定(bind)。

我的问题是,我怎样才能让它发挥作用?我似乎无法在不出现问题的情况下设置键绑定(bind),并且如何在不陷入死锁的情况下实现 wait()notify() 超出了我的范围.

最佳答案

wait 和notify 旨在用于同步。在我看来,您似乎想使用 Thread.suspend()、Thread.stop() 和 Thread.resume() 等方法,但由于它们导致锁定问题的风险,这些方法已被弃用。

解决方案是使用一个辅助变量,线程将定期检查该变量以查看它是否应该运行,否则,yield(或 sleep )

为什么不使用暂停、停止或恢复:http://docs.oracle.com/javase/6/docs/technotes/guides/concurrency/threadPrimitiveDeprecation.html

简单的解决方案: How to Pause and Resume a Thread in Java from another Thread

http://www.tutorialspoint.com/java/java_thread_control.htm

关于java - 在 Java 中按键时暂停/取消暂停线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22899461/

相关文章:

java比较不同的选项

java - 如何选择最佳线程数

java - 使用 Firebase 的图像 slider (Daimajia)

c++ - 高级比较和交换 (CAS) 函数?

Eclipse RCP : Key binding for commands work, 但菜单中未显示快捷方式

java - 我是否必须为每个 jsp 或 java 更改重新启动 tomcat?

c# - 同时在网络流上进行多发送和多接收

c++ - 在 Windows 中使用 PTHREAD 互斥?

java - 键绑定(bind)不起作用

python - 键绑定(bind) 1-5 不工作 Tkinter