工作執行緒AfxBeginThread的使用

2022-07-29 11:15:07 字數 1053 閱讀 9673

工作執行緒通常用來執行一些後台任務,如:資料計算、後台防毒等等。因為不需要建立視窗和處理使用者訊息,編寫比較容易,在程式中只要呼叫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,執行緒池關閉 跟進原...