0

我正在修复一个使用 MFC 编程的 GUI 应用程序。为了运行通信堆栈,创建了一个新线程。在某些事件中,我想停止此操作,但我知道仅在工作线程中,并且我无法通过从自身停止工作线程来获得正确的行为。所以我需要向主线程发送一条消息并告诉它停止工作线程,以便主线程可以采取正确的行动。

我不确定如何做到这一点。我查看了 CWnd 中的 SendMessage 函数,但它没有将 threadid 作为参数,而且我没有得到使用http://msdn.microsoft.com/en-us/library/windows/desktop/ms644944需要包含的内容(v=vs.85).aspx

4

1 回答 1

0

实际上,对工作线程执行任何操作的唯一安全方法是从工作线程本身内部进行。它可能应该被构造为一个 while(bRun) 循环,因此它会一直运行到程序关闭。无论您尝试做什么(停止和启动)都应该由 while 循环中的代码处理。

于 2013-07-26T14:45:10.983 回答