[C#.NET][Thread] 執行緒狀態- Thread.ThreadState

[C#.NET][Thread] 執行緒狀態- Thread.ThreadState

ThreadState 列舉型別:

它代表著執行緒生命週期的狀態,狀態如下圖:

image

 

我把msdn上的資料整理大概如下圖,有了下圖就可以很清楚的知道用了什麼方法後會改變執行緒的狀態

image

若看不懂的話可以再參考安德魯的文章

 

 

http://columns.chicken-house.net/post/2007/12/14/ThreadPool-e5afa6e4bd9c-1-e59fbae69cace6a682e5bfb5.aspx

Thread.Suspend 方法Thread.Resume 方法已經過時很久了,就不要再用它了。

image

還是乖乖的用系統提供的WaitHandle等待

判斷執行緒是否正在執行:

應用程式必須使用位元遮罩來決定執行緒是否正在執行,請參考以下

image

 

接下來我就用以下程式碼來觀察每一個方法改變的狀態,下列程式碼只是粗略的,你必須自行加入你要觀察的方法在程式碼中

image

 

image

若有謬誤,煩請告知,新手發帖請多包涵


Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET

Image result for microsoft+mvp+logo