何謂「Threading」?(p.367)
- 「Threading」為開發軟體裡中,甚為重要的一個觀念,主要就是能使程式正確地同時執行數個運算。也就是大家所稱的「多工」。
本章的內容,將分成三個課程。
- Lesson 1 : Creating Threads
- Lesson 2 : Sharing Data
- Lesson 3 : The Asynchronous Programming Model
測試練習的方法(p.368) :
- 新增一個「主控台應用程式(Console application)」
- 在前面的部份加入參考「Using System.Threading」(C#)
介紹執行緒(Threads)
- 執行緒重要屬性(Threads Properties) (p.369)
- IsAlive : 指出目前的執行狀態
- IsBackground : 是否背景執行
- IsThreadPoolThread : 是否屬於Managed執行結果
- ManagedThreadId : 唯一識別項
- Name : 執行緒名稱
- Priority : 指定或取得優先權
- ThreadState : 目前執行緒的狀態
- 執行緒方法(Threads Methods)(p.370)
- Abort : 結束執行緒(無法再用Start啟動)
- Interrupt : 插斷在WaitJoinSleep的執行
- Join : 封鎖呼叫執行緒
- Resume : 恢復執行緒
- Start : 把目前的執行個體改成以thread執行(啟動執行緒)
- Supend : 將執行緒暫停
- 執行緒靜態屬性(Static Thread Properties)(p.370)
- CurrentContext : 取得執行緒正在執行的內容
- CurrentPrincipal : 角色架構安全性用
- CurrentThread : 取得目前執行的執行緒
- 執行緒靜態方法(Static Thread Methods)(p.371)
- BeginCriticalRegion
- EndCriticalRegion
- GetDomain
- GetDomainID
- ResetAbort
- Sleep : 封鎖目執行緒一段指定的時間
- SpinWait
- VolatileRead
- VolatileWrite
- 執行緒狀態列舉(ThreadState Enumeration)(p.371)
- Aborted : 結束狀態
- AbortRequested : 被要求結束中
- Background : 背景執行
- Running : 已啟動
- Stopped : 已停止
- StopRequested : 被要停止中
- Suspended : 已經暫停
- SuspendedRequested : 被要求暫停中
- Unstarted : 未被呼叫啟用
- WaitSleepJoin : 因為呼叫「Momtor.Wait」「Thread.Sleep」「Thread.Join」而被封鎖
- 執行緒的優先權列舉(Thread Priority)(由最高到最低)(p.376)
- Highest
- AboveNormal
- Normal
- BelowNormal
- Lowest
程式範例 (主要介紹「委派產生執行緒、啟動Start()、延緩Sleep()、封鎖Join()」)
沒有留言:
張貼留言