摘要:
//========================================================================//TITLE:// 在非主线程中创建窗口//AUTHOR:// norains//DATE:// Saturday 29-December-2007//Environment:// VS2005 + SDK-WINCE5.0-MIPSII //======================================================================== 很多朋友都会有过这样的经历,为什么在主线程中创建窗口且窗口工 阅读全文
摘要:
下面的代码我调试了将近一个星期,你能够看出什么地方出了问题吗?线程函数: DWORD WINAPI ThreadProc() { while(!bTerminate) { // 从一个链表中读取信息并且插入到CListCtrl中 // CListCtrl的句柄是通过线程参数传递进来的 for(;;) { ReadInfoFromList(); InsertToCListCtrl(); } } }主线程中使用CreateThread 启动线程。当想终止子线程时,在主线程中: bTerminate = TRUE; WaitForSingleObject(threadHandle, INFINITE 阅读全文
摘要:
使用多线程技术可以显著地提高程序性能,本文就讲讲在程序中如何使用工作线程,以及工作线程与主线程通讯的问题。一 创建线程 使用MFC提供的全局函数AfxBeginThread()即可创建一个工作线程。线程函数的标准形式为 UINT MyFunProc(LPVOID );此函数既可以是全局函数,也可以是类的静态成员函数。之所以必须是静态成员函数,是由于类的非静态成员函数,编译器在编译时会自动加上一个this指针参数,如果将函数设置为静态的成员函数,则可以消除this指针参数。如果想在线程函数中任意调用类的成员变量(此处指的是数据成员,而不是控件关联的成员变量),则可以将类的指针作为参数传递给线程函 阅读全文