執行緒原理很複雜,但製做卻非常簡單,只要繼承自 IcxxlThread 並實作一個叫 ThreadStart() 的函數,就是一個執行緒類別了,至於內容要如何設計,完全自由,完全依靠程式師的創意。ThreadStart() 是執行緒啟動後第一個要執行的函數,而從 ThreadStart() 離開就表示這個執行緒結束了。建立好執行緒物件,並做好設定,就可以交給 Thread_Create() 完成啟動,把物件交給 Thread_Create() 後會維持一份擁有,所以即使被原擁有者放棄,執行緒仍在執行。 執行 ThreadStart() 的執行緒叫做任務執行緒,以等待其他執行緒叫用,其他執行緒一般都是以非同步的方式使用執行緒物件,當然這只是一般性的用法,怎麼使用並無規則可言,只有一點要注意,一定要善用關鍵區域保護資料,並且注意別造成死鎖。
以下是綜合了執行緒、關鍵區域、閘門...等的應用例子,主執行緒把使用者輸入的每段文字交給 Msg 物件的 Lists,Msg 的任務執行緒會每 3 秒從 Lists 取出一段文字並顯示,使用者打 exit 結束任務執行緒,打 quit 結束範例程式 範例一
|
核心元件 >