我有一个类似于This one的问题。但我想在 Linux 中使用 ACE 框架来实现它。这样做的方法是什么
2356 次
1 回答
3
更多信息将有助于获得更好的答案:
- 您的工作线程是否在运行之前等待其他事件?
- 您的线程如何相互通信?
- 您是否总是能够优雅地终止,或者您是否预计必须强制终止某些线程?
你提到的另一个问题提出了一个很好的观点:
通常,线程终止的方式只是从定义线程的函数返回。通常,主线程使用事件对象或简单的整数或布尔值通知工作线程退出。如果工作线程在 WaitForSingleObject 中等待,您可能需要将其更改为 WaitForMultipleObjects,其中一个对象是一个事件。主线程将调用 SetEvent 并且工作线程将唤醒并返回。
根据您在 ACE 中的设置,您可以使用从主线程到工作线程的进程间通信来告诉它们停止,它们将在下一次事件检查时拾取和处理。或者,您可以使用 linux 的select
.
希望这能为您指明正确的方向。
于 2010-05-10T20:38:03.693 回答