MFC多线程设计困境:如何优雅地退出应用程序?

时间:2010-11-09 00:47:28

标签: mfc

MFC程序(具有表单视图的单个文档)具有一些子线程,可访问MFC GUI上的某些控件。 希望在所有子线程退出后退出主线程。 我尝试通知子线程退出并在OnDestroy处理程序中等待它们。 但是,这里有一个两难的境地。 因为子线程可能是SendMessage GUI控件,而主消息循环在OnDestroy处理程序中被阻止。那是一个僵局。

我有一个想法可以解决这个问题:我希望有一种方法可以处理MFC的WM_CLOSE或WM_QUIT,并使用自定义消息,如UDM_QUIT,由子线程发送到主线程进行实际的退出,同时我不知道等待子线程在OnDestroy处理程序中退出。但我不是MFC的大师,也不知道如何实现这一点。

1 个答案:

答案 0 :(得分:0)

我发现我可以处理主框架的OnClose来实现我上面提到的想法。