【发布时间】:2012-08-27 10:31:39
【问题描述】:
我希望主应用程序线程能够暂停/恢复其他工作线程,假设这是可能的,那么最好的方法是什么? p>
欢迎任何适用于 Windows XP(及更高版本)的建议!
附言。我正在使用 Delphi 2010 和 OmniThreadLibrary 3
【问题讨论】:
-
您永远不会从外部暂停线程。主线程发出信号表示它希望线程暂停,然后线程通过等待直到发出恢复信号来响应。
-
有关如何使用事件信号执行此操作的示例(虽然不是 OTL 框架示例),请参阅 Do I need TThreads? If so can I pause, resume and stop them?。
-
谢谢你们的帮助/链接。我相信可以从外部暂停,我有点希望看看在 OTL 中是否有一种安全/推荐的方法。
-
如果你从外部暂停它,并且如果你的线程使用了any锁,那么你就会陷入死锁。你需要重新调整你的期望。例如,阅读有关 SuspendThread 的 Windows API 文档。
标签: multithreading delphi delphi-2010 resume omnithreadlibrary