1、用
createthread產生乙個執行緒
執行緒函式:
dword
winapi
ceventdlg
::threadproc2
(lpvoid
lpparameter
// thread data
)並在標頭檔案中新增:
staticdword
winapi
threadproc2(
lpvoid
lpparameter
// thread data
);//宣告為靜態的成員函式
建立執行緒: //
pclientinfo為待傳遞的引數
htread2=createthread(null,0,threadproc2,pclientinfo,0,null);
closehandle(htread2);
宣告需要傳遞的引數:
struct
clieninfo ;
clieninfoinfo;
clieninfo*pclientinfo=new
clieninfo;//定義乙個結構體指標,並分配記憶體空間 在
oninitdialog 中 給結構體賦值:
pclientinfo->a=1;
pclientinfo->b=0.1;
在實現函式裡:
dword
winapi
ceventdlg
::threadproc2
(lpvoid
lpparameter
// thread data)
2 、用
afxbeginthread
產生乙個執行緒
cwinthread* afxbeginthread( afx_threadprocpfnthreadproc, lpvoidpparam, intnpriority= thread_priority_normal, uintnstacksize= 0, dworddwcreateflags= 0, lpsecurity_attributeslpsecurityattrs=null );
後面的為預設值null;
cwinthreadpthread;
pthread=afxbeginthread(threadfunc,&info); //開啟執行緒
//傳遞引數:
structthreadinfo ;
info.nmillisecond=m_nmillisecond;
info.pctrlprogress=&m_ctrlprogress;
//實現函式:
uintthreadfunc(lpvoidlpparam);
uintthreadfunc(lpvoidlpparam)
return 0; }
MFC 如何使用執行緒函式。
1.新建對話方塊程式 假如你的工程名叫child 在public中定義執行緒函式 static uint thread1 void parg 2.在.cpp中寫執行緒函式 你希望它做什麼,一般用作迴圈,你的對話方塊執行是主線程,它是子執行緒,兩者互不干擾讓程式更流暢 uint cchilddlg t...
MFC樹右鍵選單的建立及使用
1 使用classwizard建立樹節點右鍵訊息,實現右鍵訊息響應函式如下 void ctreedlg onrbuttonclicktree nmhdr pnmhdr,lresult presult else 注 以上步驟獲取右擊時樹的節點控制代碼,不能直接使用 m mytree.getselect...
MFC的多執行緒程式設計建立
本文主要描述基於mfc的多執行緒技術中的工作者執行緒,包括執行緒的建立 傳遞引數 互斥物件保護以及執行緒的銷毀。還將 執行緒函式作為類的成員函式的情況。首先需要說明的是工作者執行緒和介面執行緒的區別,介面執行緒 ui執行緒 指的是包含有訊息佇列的執行緒,可以使用訊息機制相互通訊 工作者執行緒則沒有訊...