MFC:从工作线程向主线程发送消息以停止工作线程

MFC: sending a msg from worker thread to the Main thread to stop the worker thread

本文关键字:线程 消息 停止工作 工作 MFC      更新时间:2023-10-16

我正在修复一个用MFC编程的GUI应用程序。要运行通信堆栈,将创建一个新线程。在某些事件中,我想停止这种情况,但我知道只有在工作线程中,我无法从停止工作线程本身中获得正确的行为。因此,我需要向主线程发送一条消息,并告诉它停止工作线程,以便主线程可以采取正确的操作。

我不知道该怎么做。我已经查看了CWnd中的SendMessage函数,但它没有将threadid作为参数,我也没有得到需要包含的内容http://msdn.microsoft.com/en-us/library/windows/desktop/ms644944(v=vs.85).aspx.

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