略談如何建立乙個監控執行緒

2021-08-30 03:54:07 字數 1298 閱讀 2977

一般實時監控功能放在乙個單獨開闢的執行緒比較合適,因為這樣可以大大減輕主線程的負擔。

下面我談談如何建立乙個監控執行緒(以乙個工程說明)。

使用vs 2005 新建乙個對話方塊工程:test 。在 bool

c test

dlg::oninitdialog () 函式裡建立執行緒,具體**如下:

dword dwthreadid = 0; // 定義執行緒id handle hthread = createthread( null, // default security attributes 0, // use default stack size listendb, // thread function this, // argument to thread function 0, // use default creation flags &dwthreadid); // returns the thread identifier // 注意這裡必須關閉執行緒,否則會出現記憶體洩露 if (null!=hthread) closehandle(hthread);

這裡稍微介紹一下 createthread 函式的用法,

createthread 共有6 個引數,

handle createthread(

lpsecurity_attributes lpthreadattributes,

size_t dwstacksize,

lpthread_start_routine lpstartaddress,

lpvoid lpparameter,

dword dwcreationflags,

lpdword lpthreadid );

lpthreadattributes ------ 執行緒的安全屬性,一般設定為null 就可以了

dwstacksize ------- 堆疊初始化大小,設定為0 表示使用預設大小

lpstartaddress ------ 執行緒函式位址

lpparameter ------- 執行緒函式引數

dwcreationflags -------- 執行緒控制標誌, 設定為0 表示建立後立即執行

lpthreadid ------- 執行緒id

返回值為建立後的執行緒控制代碼。

這裡的關鍵引數其實只有兩個: lpstartaddress 和lpparameter 。

下面再看看執行緒函式listendb :

dword winapi listendb(lpvoid lpparam) return 0; }

如何建立乙個簡單的執行緒

在symbian中,用rthread來操作執行緒,乙個rthread物件代表乙個執行緒的控制代碼。常用rthead物件來建立或操作其他執行緒。rthread的基類是rhandlebase類,該類封裝了控制代碼的行為。rthread,rprocess,rmutex和rsession base都繼承自r...

如何建立乙個多執行緒任務

a01 01 函式在排程時是序列,只有在第乙個函式返回時才會進行下乙個執行緒。那麼如何讓兩個函式同時工作呢?thread 執行緒技術用於實現併發任務,可以讓多個函式同時執行。main 函式本身被稱為 主線程 第一乙個類 class mytask public os thread return 0 執...

VC如何建立乙個新的執行緒

使用mfc開發是較普遍的vc 程式設計方法。在vc 6.0下,mfc應用程式的執行緒由cwinthread物件表示。vc 把執行緒分為兩種 使用者介面執行緒和工作者執行緒。使用者介面執行緒能夠提供介面和使用者互動,通常用於處理使用者輸入並相應各種事件和訊息 而工作者執行緒主要用來處理程式的後台任務。...