我正在修复用MFC编程的GUI应用程序。要运行通信堆栈,需要创建一个新线程。在某些事件上我想停止这个,但我知道只有在工作线程中我才能从停止工作线程本身获得正确的行为。所以我需要向主线程发送一条消息并告诉它停止工作线程,以便主线程可以采取正确的操作。
我不确定如何做到这一点。我已经查看了CWnd中的SendMessage函数,但它没有将threadid作为参数,我没有得到我需要包含的内容来使用http://msdn.microsoft.com/en-us/library/windows/desktop/ms644944(v=vs.85).aspx。
答案 0 :(得分:0)
实际上,对工作线程执行任何操作的唯一安全方法是从工作线程本身。它可能应该被构造为while(bRun)循环,因此它会一直运行直到程序关闭。无论你想做什么(停止和开始)都应该通过while循环中的代码来处理。