最近在寫上位機,要用到qt,所以自己寫的關於執行緒管理的類繼承了qt裡面的類。類內容如下:
class tinythread : public qobject
;
首先看一下結構體tinythreadprivate裡面包含哪些內容
struct tinythread::tinythreadprivate
~tinythreadprivate()
void runit()
else
isrunningnow = false;
if( func && isautodelete )
delete pfuncdata;
} void init_run() }
void kill()
handle = 0;
} void suspend()
void resume()
void waitforclose( int waittime = infinite )
handle = 0;
} bool isrunningnow; //執行緒是否在執行
tinythreadfunc func; //函式指標
void *pfuncdata; //資料指標,執行上面函式需要用到的引數
bool isautodelete; //是否自動刪除上面的資料
handle handle; //執行緒控制代碼
tinythread* powner; //類指標
private:
static unsigned int __stdcall tinythreadcallback( lpvoid thisptr )
};
結構體包含的引數有,**裡有注釋
結構體的建構函式初始化了4個引數變數,析構函式為空
void runit()
如果函式指標不為0,則執行指標函式指向的函式;執行緒是否執行標誌設定為false,並釋放資料指標。
void suspend()
掛起執行緒
void resume()
恢復執行緒
void waitforclose( int waittime = infinite )
等待執行緒執行完畢,釋放執行緒控制代碼,將執行緒控制代碼置0.
void kill()
強制關閉執行緒,釋放執行緒控制代碼,執行緒是否執行標誌設定為false,執行緒控制代碼置0
void init_run()
等待上乙個執行緒執行完畢(釋放執行緒控制代碼,將執行緒控制代碼置0.),建立乙個新的執行緒,執行緒被掛起,執行緒是否執行標誌設定為true,恢復執行緒
static unsigned int __stdcall tinythreadcallback( lpvoid thisptr )
然後看一下tinythread類的建構函式
tinythread::tinythread()
為雷內結構體變數申請記憶體空間,並將類指標賦給結構體變數內的乙個類指標變數 執行緒管理之Thread類相關方法簡介
currentthread 靜態方法 currentthread 方法可返回 段正在被那個執行緒呼叫的資訊。簡單案列 列印main 方法,正在被那個執行緒呼叫 package com.zzg.thread import com.zzg.obj.threadobj1 public class thre...
c 併發程式設計(二) 管理執行緒 thread類
同上節所講,執行緒是通過構造std thread物件來開始的 void do some work std thread my thread do some work 使用可呼叫型別 include includeclass func int main 如果你不做處理,在主線程結束後,thread物件...
C 標準執行緒庫之當前執行緒管理
有時需要對當前執行的子執行緒進行一些額外的處理,如 使執行緒休眠一段時間,再次排程等。c 11標準庫提供了管理當前執行緒的函式,這些函式都定義於命名空間this thread include inline thread id std this thread get id 返回當前執行緒id incl...