Posted on 2012-10-19 08:39
盛勝 閱讀(443)
評論(0) 編輯 收藏 引用
工作者線程的AfxBeginThread的原型如下: CWinThread* AfxBeginThread( AFX_THREADPROC pfnThreadProc, LPVOID lParam, int nPriority = THREAD_PRIORITY_NORMAL, UINT nStackSize = 0, DWORD dwCreateFlags = 0, LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL );//用于創建工作者線程 返回值: 一個指向新線程的線程對象的指針 pfnThreadProc : 線程的入口函數,聲明一定要如下: UINT MyThreadFunction( LPVOID pParam ),不能設置為NULL; pParam : 傳遞入線程的參數,注意它的類型為:LPVOID,所以我們可以傳遞一個結構體入線程. nPriority : 線程的優先級,一般設置為 0 .讓它和主線程具有共同的優先級. nStackSize : 指定新創建的線程的棧的大小.如果為 0,新創建的線程具有和主線程一樣的大小的棧 dwCreateFlags : 指定創建線程以后,線程有怎么樣的標志.可以指定兩個值: CREATE_SUSPENDED : 線程創建以后,會處于掛起狀態,直到調用:ResumeThread 0 : 創建線程后就開始運行. lpSecurityAttrs : 指向一個 SECURITY_ATTRIBUTES 的結構體,用它來標志新創建線程的安全性.如果為 NULL , 那么新創建的線程就具有和主線程一樣的安全性. 如果要在線程內結束線程,可以在線程內調用 AfxEndThread. 結束線程的兩種方式 當你在后臺用線程來打印一些圖形時.有時在打印一部分后,你希望可以停下來,那么此如何讓線程停止呢.