HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, // pointer to security attributes DWORD dwStackSize, // initial thread stack size LPTHREAD_START_ROUTINE lpStartAddress, // pointer to thread function LPVOID lpParameter, // argument for new thread
DWORD dwCreationFlags, // creation flags LPDWORD lpThreadId // pointer to receive thread ID ); 在类的文件中定义线程函数: static DWORD WINAPI TestThreadProc(LPVOID lpParameter); DWORD WINAPI TestThreadProc();源文件中实现: DWORD WINAPI CTestDlg::TestThreadProc( LPVOID lpParameter
){ CTestDlg* pDataCollecDlg= (CTestDlg*)lpParameter; return pDataCollecDlg->TestThreadProc();}DWORD WINAPI TestThreadProc();//执行线程工作内容 创建线程: HANDLE hThread = CreateThread(NULL,0,TestThreadProc,this,0,NULL);CWinThread* pThread = AfxBeginThread(ThreadTests,this,THREAD_PRIORITY_HIGHEST,0,0,NULL);//MFC函数创建,不需要关闭句柄(控制优先级等操作通过pThread操作)
NULL:安全属性继承进程 0:堆栈大小默认1M 线程函数:TestThreadProcthis:传递参数0:创建即执行NULL:thread ID 暂停线程: SuspendThread(hThread);激活/恢复线程: ResumeThread(hThread);设置线程优先级:SetThreadPriority(hThread,THREAD_PRIORITY_HIGHEST); 用完时,关闭句柄: CloseHandle(hThread); 也可以使用C运行时函数来创建、结束线程:_beginthread,
_beginthreadex_endthread, _endthreadex
C++ CreateThread
最新推荐文章于 2024-08-29 10:18:08 发布