2008年4月3日 星期四

Threading (part 1)(4.2)

書刊:Application Development Foundation

何謂「Threading」?(p.367)


  • 「Threading」為開發軟體裡中,甚為重要的一個觀念,主要就是能使程式正確地同時執行數個運算。也就是大家所稱的「多工」。

本章的內容,將分成三個課程。

  • Lesson 1 : Creating Threads
  • Lesson 2 : Sharing Data
  • Lesson 3 : The Asynchronous Programming Model

測試練習的方法(p.368) :

  1. 新增一個「主控台應用程式(Console application)」
  2. 在前面的部份加入參考「Using System.Threading」(C#)
Lession 1 : 產生執行緒(Creading Threads)(p.369)


介紹執行緒(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()」)


沒有留言: