MFC多线程编程(初学者)

MFC多线程编程

在MFC中创建线程一般用AfxBeginThread函数(既可以创建界面线程也可以创建工作线程)

调用主对话框的成员变量或成员函数,关键在于 AfxBeginThread函数的第二个参数(主对话框的指针this)

工作线程(无消息循环)在工作线程中不建议弹出模态对话框,弹出非模态对话框会进程中的代码会继续执行,但是对话框对鼠标的相应会没有响应;可以加消息循环,鼠标会有响应,但是不如创建界面进程;

界面线程(有消息循环) 界面线程的创建 1.从CWinThread类派生自己的子类:CUIThreadApp; 2.重载InitInstance函数(必须重载)与ExitInstance(可选重载)函数;(创建类时已经自动重载,不需要手动处理) 3.在InitInstance函数中进行界面的创建; 4.调用AfxBeginThread函数开启界面线程:AfxBeginThread(RUNTIME_CLASS(CUIThreadApp))

线程的挂起用SuspendThread函数,恢复用ResumeThread函数

经验分享 程序员 微信小程序 职场和发展