工作執行緒通常用來執行一些後台任務,如:資料計算、後台防毒等等。因為不需要建立視窗和處理使用者訊息,編寫比較容易,在程式中只要呼叫afxbeginthread 函式就可以建立並啟動乙個工作執行緒了。
afxbeginthread 的原型如下:
cwinthread*從上面引數可以看到,只有前兩個引數是必須的,其餘引數都使用預設的話,就可建立了乙個具有普通優先順序別的執行緒。afxbeginthread(
afx_threadproc pfnthreadproc,
lpvoid pparam,
int npriority =
thread_priority_normal,
uint nstacksize = 0
, dword dwcreateflags = 0
, lpsecurity_attributes lpsecurityattrs =
null
);cwinthread*
afxbeginthread(
cruntimeclass*
pthreadclass,
int npriority =
thread_priority_normal,
uint nstacksize = 0
, dword dwcreateflags = 0
, lpsecurity_attributes lpsecurityattrs =
null
);
示例:編寫乙個應用程式,當在程式視窗按下滑鼠左鍵,啟動乙個執行緒,該執行緒可以在螢幕上顯示乙個資訊框。
1.新建單文件程式;
2.在檢視類cpp檔案新增乙個準備作為執行緒的函式:
uint messagethread(lpvoid pparam)3.在檢視類的滑鼠左鍵訊息響應函式中建立和啟動執行緒:
void程式執行結果:cthreadtestview::onlbuttondown(uint nflags, cpoint point)
構建高效能工作執行緒 三 工作執行緒
工作執行緒 public abstract class workthread implements runnable,serializable public final void run 抽象函式,供子類實現 dotask catch exception e 任務工作 public abstract...
人腦多執行緒工作
以前讀中學的時候,曾經訓練自己用左手寫字,藉此來訓練和啟用自己右腦的腦細胞,天真地以為到手左手寫作業能力練的如火純青之時,我到時便可以左右並駕齊驅,提高寫作業的效率,然而這時不可能能,本文參考計算機多執行緒的概念,從這個角度來指導大腦在多工的情況的使用方法。對於計算機的多執行緒工作機制大家應該都非常...
執行緒池工作原理
執行緒池狀態的切換 執行緒池關鍵類的uml圖 執行緒池就是把任務提交和任務執行解耦。首先看一下執行緒池的使用 public static void main string args throws interruptedexception 2,提交任務 es.shutdown 3,執行緒池關閉 跟進原...