-
通常,使用前兩個引數。
afxbeginthread(unsigned int *(cdecl*)(void*),void*);
第乙個引數是函式指標,它必須返回乙個無符號的 int 和乙個 void 指標。
第二個引數是 void 指標。 事實上,第二個引數是傳遞到函式中的引數。
由於執行緒函式必須是全域性函式,因此要使用的資訊基本上是通過 void 指標傳遞的。
例如,建立乙個新類。
struct threadinfo
需要各種引數。
threadinfo* pinfo = new threadinfo;
pinfo->*=*** 賦值。
afxbeginthread(threadfunc, pinfo);
-
在此執行緒中,您不能直接使用它操作 UI。
當您需要 afxbeginthread 時,請傳入此指標。
例如,如果你的類是類測試,則其中有兩個函式:a 和 b,其中 a 是執行緒函式,b 是操作 ui 的函式。
它需要像這樣。 :afxbeginthread(a, this, 0, 0, 0, null);
然後將引數轉換為 a。
classtest* p = (classtest*)param;
然後呼叫 p->b();
-
classtest,它有兩個函式,a、b,a 是執行緒函式,b 是操作 UI 的函式。
-
不能說是缺點,CPU執行總量是固定的,如果開啟多個執行緒,就相當於把CPU分成幾個執行緒來執行。 對於單個CPU,一次只能執行乙個執行緒,然後他會切換到下乙個執行緒並再次執行,這感覺就像是同時發生的,因為切換速度很快。
如果您線上程中要執行大量計算,則可以考慮優化。
-
以 AFX 開頭的以 mfc 的脈衝模開頭的函式可以被認為是類函式。
當然,你可以使用 API 的 createthread 沒問題;
您可以使用 closehandle 結束執行緒,並在決定要結束執行緒時呼叫它。
-
但是,請務必注意,afxbeginthread 的第乙個引數應宣告為 static。
系統複習和學習,根據自己的弱點來檢查和補缺! 中國學生雅思大部分在聽力和口語方面都有欠缺,你也應該根據自己的英語水平來看待。 好的培訓機構是全球和實用雅思等。