如何在 MFC C++ 中开始使用线程编程? [关闭]
Posted
技术标签:
【中文标题】如何在 MFC C++ 中开始使用线程编程? [关闭]【英文标题】:How to start programming with threads in MFC C++? [closed] 【发布时间】:2011-01-07 11:10:50 【问题描述】:我需要使用 cwinthread 或 afxbeginthreads 创建新线程(不同的类)。我不知道如何开始以及我需要使用其中的哪一个。请帮忙... 谢谢
【问题讨论】:
创建一个线程很容易,但让多个线程正确地协同工作非常困难。如果你没有先阅读一本关于该主题的好书就尝试这样做,你会后悔的。 【参考方案1】:MFC 中有两种类型的线程:
工作线程只需在后台执行任务然后退出 具有消息泵的用户界面线程,即您可以向其发送消息当我很久以前在 MFC 中使用它时,我非常不喜欢不能创建类,因为它们强迫你用他们的工厂来做,因此你不能用它需要用来执行的参数来初始化它,因为它的 InitInstance() 也不需要参数(我认为)。换句话说,你真的不能向它们传递任何上下文数据,除非你创建它们暂停,我发现我总是必须这样做。
工作线程是我也更愿意在没有 MFC 的情况下做的事情,因为我非常不喜欢 MFC 对非 GUI 代码的侵入性,也就是说,我并不像 Widgets 库那样介意它,但是一旦你发现它把它放在你的项目中,你“卡住”了它。
我不得不支持 MFC 项目,但项目中的任何新代码区域我都会远离 MFC,如果可能的话甚至使用 Win32API。
【讨论】:
【参考方案2】:您好,您可以阅读这篇文章http://msdn.microsoft.com/en-us/library/69644x60(v=vs.80).aspx 和这篇文章in class
【讨论】:
以上是关于如何在 MFC C++ 中开始使用线程编程? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何将 IDispatch::Invoke 放入 MFC C++ 线程?