1. 程式人生 > >MFC中建立多執行緒

MFC中建立多執行緒

FC中有兩類執行緒,分別稱之為工作執行緒和使用者介面執行緒。工作執行緒沒有訊息機制,通常用來執行後臺計算和維護任務,如冗長的計算過程,印表機的後臺列印等;使用者介面執行緒有自己的訊息機制,一般用於處理獨立於其他執行緒執行之外的使用者輸入,響應使用者及系統所產生的事件和訊息等。本文主要講述如何在MFC中建立工作執行緒。

      建立工作執行緒分為三步:1.執行緒函式的宣告;2.執行緒函式的實現;3.建立(啟動)執行緒

執行緒函式的宣告
UINT ThreadFunc(LPVOID lpParam);
該函式的返回值UINT,引數型別LPOVID不能變,函式名稱可以自己定義。返回值為0證明函式被成功呼叫。執行緒函式在類外宣告。
執行緒函式的實現
UINT ThreadFunc(LPVOID lpParam)
{
...;
return 0;
};
返回值為0證明函式被成功呼叫。
建立(啟動)執行緒函式
建立執行緒函式有兩種辦法:
a. 直接呼叫全域性函式CWinThread *pThread = AfxBeginThread(ThreadFunc,lpParam);執行緒函式引數lpParam可以為數值,某個結構體的指標或者忽略為NULL。
b. 先例項化一個類CWinThread的物件CWinThread pThread,再利用pThread.CreateThread();啟動執行緒。