首先可以 在 vc中 新建乙個class ,是以 cwinthread為 基類
class cproducerthread : public cwinthread
}afx_virtual
// implementation
public:
void *m_parent;
protected:
// generated message map functions
//}afx_msg
declare_message_map()
};cproducerthread::cproducerthread(afx_threadproc pfnthreadproc,void *parent):cwinthread(pfnthreadproc,null)
uint cproducerthread::threadfunc(lpvoid param)
void cproducerthread::go()
{cpvdlg *p=static_cast(m_parent);
main 中:
cproducerthread *p=new cproducerthread(cproducerthread::threadfunc,this);
p->createthread();
析構函式中:waitforsingleobject(p->m_hthread,infinite) delete p。。 如果上面的m_bautodelete=false; ,m_bautodelete=true,則不需要刪除。
多執行緒MFC
csemaphore semaphorewrite 2,2 資源最多訪問執行緒2個,當前可訪問執行緒數2個 cwinthread pwritea afxbeginthread writea,m ctrla,thread priority normal,0,create suspended pwrit...
MFC 下執行緒
做變數宣告,賦值等前期工作 return 0 if isthreadpause 暫停響應函式,也不變 void cplayerdlg onbnclickedstop if pplayerthread isthreadpause false 原來的terminatethread不用,換成下面這個 po...
MFC多執行緒
如果使用者的應用程式需要有多個任務同時進行相應的處理,則使用多執行緒是較理想的選擇。多執行緒對於網路,列印,字處理,圖形影象,動畫和檔案管理的同乙個系統下執行來說,是非常必要的。在乙個多執行緒程式中,程序必須有乙個主線程,主線程可以在任何需要的時候建立新的執行緒。所有活動的縣城共享程序的資源。解決多...