thread庫用起來還是比較簡單、快捷的,只需要繼承一下,就可以直接應用,個人感覺比較爽。
建立thread類,裡面包括建構函式,virtual析構函式,建構函式主要是初始化一些資料,比如控制代碼和threadid,還有兩個bool狀態成員。
析構主要就是**handle.
然後是開始函式start,裡面主要應用_beginthreadex,已經有乙個文章裡面專門介紹了一下他,可以看一下,主要和createthread不同的一是
引數,而是好像是乙個tiddata結構體,資料儲存。就是_beginthreadex會分配tiddata結構保留像id等等資料。
start函式裡面會建立handle如果成功,hthread和threadid就都可以被賦值了,如果失敗直接返回false。
resume()函式,如果bsuspend標誌是true,把他改為false,然後啟用執行緒。
suspend()函式,如果bsuspend標誌是false,把他改為true,然後暫停執行緒。
terminate()函式,無論執行緒是否在執行,直接改變bterminte標誌為true.
waitfor()函式,終止函式呼叫後,可能執行緒還未完成,如此再給他幾秒鐘,然後徹底終止執行緒。
還有幾個輔助函式,如getid,get控制代碼,get。。。。
當然兩個最主要的函式乙個(實現/執行)函式,就是繼承這個庫,主要就是在這裡執行執行緒操作。
另乙個函式就是unsigned winapi threadproc(lpvoid lparam),裡面涉及到自呼叫和啟用執行函式,並且,如果執行函式結束後,可以自行關閉控制代碼。
暫時應用就這麼多,如果有還可以再加!
關於一些輔助庫singleton
數學與邏輯學中,singleton定義為 有且僅有乙個元素的集合 單例模式最初的定義出現於 設計模式 艾迪生維斯理,1994 保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。class singleton private static singleton m psingleton 顯然單例模...
關於Thread的一些
執行緒有幾種狀態 1.產生 new 執行緒已經產生,只是放在記憶體中啥事都不幹。2.可執行 runnable 在呼叫了start方法到它獲得系統給它分配了時間片之前,或者時間片用完了但還沒執行完。3.執行 running 獲得了時間片,正在執行。4.死亡 dead 執行完成 5.阻塞 block 不...
Thread的一些基本操作
1 執行緒的兩種建立方式 1 繼承thread類 class xc extends thread xc string name public void run public class threaddemo01 2 實現runnable介面 建立執行緒方式二 繼承runnable介面 練習 賣票 c...