如何使用MFC C ++中的线程开始编程?

时间:2011-01-07 11:10:51

标签: c++ multithreading mfc

我需要使用cwinthread或afxbeginthread创建新线程(不同的类)。我不知道如何开始,我需要使用哪一个。请帮忙... 谢谢

2 个答案:

答案 0 :(得分:1)

您好,您可以阅读这篇文章http://msdn.microsoft.com/en-us/library/69644x60(v=vs.80).aspx和本文in class

答案 1 :(得分:1)

MFC中有两种类型的线程:

  • 工作线程只是在后台执行任务然后退出
  • 具有消息泵的用户界面线程,即您可以将PostMessage添加到它

很久以前,当我在MFC中使用它时,我非常不喜欢无法创建类,因为它们强迫您使用它们的工厂,因此您无法使用它需要用于执行的参数来初始化它,因为它上面的InitInstance()也没有参数(我认为)。换句话说,你真的无法传递任何上下文数据,除非你创建它们暂停,我发现我总是这样做。

工作线程是我不喜欢没有MFC的事情,因为我强烈不喜欢MFC对非GUI代码的侵入性,即我不介意它像Widgets库那样但是一旦你找到了把你的项目放在你的“卡住”上。

我必须支持MFC项目,但项目中的任何新代码区域都会远离MFC,如果可能的话甚至会使用Win32API。