多线程编程之二——MFC中的多线程开发
2007-03-17 22:00:08 来源:WEB开发网核心提示: virtual BOOL CWinThread::InitInstance();重载该函数以控制用户界面线程实例的初始化,初始化成功则返回非0值,多线程编程之二——MFC中的多线程开发(3),否则返回0,用户界面线程经常重载该函数,标题为“开始” ,一个进度条IDC
virtual BOOL CWinThread::InitInstance();
重载该函数以控制用户界面线程实例的初始化。初始化成功则返回非0值,否则返回0。用户界面线程经常重载该函数,工作者线程一般不使用InitInstance()。virtual int CWinThread::ExitInstance();
在线程终结前重载该函数进行一些必要的清理工作。该函数返回线程的退出码,0表示执行成功,非0值用来标识各种错误。同InitInstance()成员函数一样,该函数也只适用于用户界面线程。六、MFC多线程编程实例
在Visual C++ 6.0编程环境中,我们既可以编写C风格的32位Win32应用程序,也可以利用MFC类库编写C++风格的应用程序,二者各有其优缺点。基于Win32的应用程序执行代码小巧,运行效率高,但要求程序员编写的代码较多,且需要管理系统提供给程序的所有资源;而基于MFC类库的应用程序可以快速建立起应用程序,类库为程序员提供了大量的封装类,而且Developer Studio为程序员提供了一些工具来管理用户源程序,其缺点是类库代码很庞大。由于使用类库所带来的快速、简捷和功能强大等优越性,因此除非有特殊的需要,否则Visual C++推荐使用MFC类库进行程序开发。
我们知道,MFC中的线程分为两种:用户界面线程和工作者线程。我们将分别举例说明。
用 MFC 类库编程实现工作者线程
例程5 MultiThread5
为了与Win32 API对照,我们使用MFC 类库编程实现例程3 MultiThread3。
建立一个基于对话框的工程MultiThread5,在对话框IDD_MULTITHREAD5_DIALOG中加入一个编辑框IDC_MILLISECOND,一个按钮IDC_START,标题为“开始” ,一个进度条IDC_PROGRESS1;
打开ClassWizard,为编辑框IDC_MILLISECOND添加int型变量m_nMilliSecond,为进度条IDC_PROGRESS1添加CProgressCtrl型变量m_ctrlProgress;
更多精彩
赞助商链接