回答
ThreadState爲線程定義了一組全部 可能的執行狀態。 一旦創建了一個線程,它至少處於 狀態,直到它終止爲止 。 公共語言運行庫中創建的線程初始爲 處於未啓動狀態,而進入運行時的外部 線程已經處於運行狀態 。一個 通過調用啓動將未啓動的線程轉換爲運行狀態 。 並非所有ThreadState 值的組合都有效;例如, 線程不能同時處於被中止的 和未啓動狀態。
重要:線程狀態僅在幾個調試 方案中感興趣。您的代碼不應使用線程狀態 來同步線程的 活動。
的ThreadState:WaitSleepJoin:線程被阻塞的呼叫等待,睡眠,或加入的結果。
從here。
從MSDN
WaitSleepJoin該線程被阻塞。 這可能是調用 Thread.sleep代碼或的Thread.join,的 請求鎖的結果 - 例如,通過調用 或Monitor.Enter Monitor.Wait - 或等待線程 同步對象如 ManualResetEvent的。
簡短的回答是:是的!
+1感謝您的鏈接! – Pwninstein 2009-06-09 15:13:13
它轉變爲WaitSleepJoin
。
我不希望這會作爲一個諷刺的答案過來,因爲這不會幫助任何人 - 所以請採取它的意圖精神。
您是否嘗試過使用按鈕創建一個簡單的Winform應用程序來啓動,停止和休眠線程和狀態區域以顯示thread.ThreadState的值?
這將回答你的問題。
如果你打算投票,至少要解釋原因。我試圖建議的是,在發佈問題之前,人們會做一些實驗。如果他們的實驗沒有回答他們的問題,他們可以在這裏問他們已經嘗試過的證據。
該線程應該放入ThreadState.WaitSleepJoin。
有關詳細信息,請參閱ThreadState's Documentation,具體如下:
WaitSleepJoin:「線程被阻塞這可能是調用線程的結果.. ::睡眠或線程.. ::加入請求的。鎖 - 例如,通過調用Monitor .. ::。Enter或Monitor .. ::。Wait - 或等待線程同步對象,如ManualResetEvent。「
- 1. Thread.Sleep會影響ThreadPool嗎?
- 2. 虛假喚醒會影響Thread.sleep嗎?
- 3. NSClassFromString會影響性能嗎?
- 4. SO_RCVTIMEO會影響accept()嗎?
- 5. z-index會影響div的高度嗎?
- 6. 急於加載會影響性能嗎?
- 7. 鏈接包含#,會影響SEO嗎?
- 8. git會影響我的快遞嗎?
- 9. 加載動畫會影響SEO嗎?
- 10. [關閉] Nginx會影響apache ant嗎?
- 11. Reset.css會影響其他樣式表嗎?
- 12. django adminplus會影響性能嗎?
- 13. BindingExpression(path)錯誤會影響性能嗎?
- 14. JavaScript:setInterval()會影響計算速度嗎?
- 15. 同步會影響對象成員嗎?
- 16. mvc架構會影響SEO嗎?
- 17. 重度使用會影響SESSIONS嗎?
- 18. Oracle數據泵會影響性能嗎?
- 19. 評論會影響編譯時間嗎?
- 20. 實現IServiceBehavior會影響ServiceBehavior屬性嗎?
- 21. 虛假喚醒會影響Future.get()嗎?
- 22. LibGDX - 修改組會影響孩子嗎?
- 23. Sysout會影響tomcat的性能嗎?
- 24. Javascript SetTimeOut會影響頁面性能嗎?
- 25. 很多IFRAME會影響性能嗎?
- 26. django的CSRF會影響iOS程序嗎?
- 27. System.out.println()會影響代碼效率嗎?
- 28. serverSessionTimeout和wl.realm.expiration.XYZ會相互影響嗎?
- 29. 使用jaxb XMLAdapter會影響性能嗎?
- 30. C#預編譯會影響行號嗎?
+1,非常有幫助,謝謝。 「你的代碼不應該使用線程狀態來同步線程的活動。」你能詳細解釋一下你的意思嗎,謝謝! – Pwninstein 2009-06-09 15:16:04