主線程與前台/後台線程
- 所有線程依附於
Main()所在線程(主線程)。
- 前台線程全部結束時,進程終止,所有後台線程被強制
Abort()。
- 微觀串行、宏觀並行:邏輯上視為並行執行。
ThreadState 狀態機詳解
Thread.ThreadState屬性標識運行時狀態,常用值:
| 狀態值 | 含義 |
| Unstarted | 未調用Start() |
| Running | 正常運行中 |
| WaitSleepJoin | 因Wait()/Sleep()/Join()阻塞 |
| Suspended | 已掛起,可Resume()恢復 |
| AbortRequested | 已請求中止,尚未完成 |
| Stopped | 已停止 |
| Background | 後台線程(對應IsBackground屬性) |
後台線程特權:不阻礙進程退出。CLR在所有前台線程結束後,會強制中止殘留後台線程。
線程優先級調度
五級優先級(高→低):Highest, AboveNormal, Normal, BelowNormal, Lowest。默認Normal。設置示例:
myThread.Priority = ThreadPriority.Lowest;
合理分配優先級可確保關鍵任務(如UI響應)搶佔更多CPU時間片,提升用戶體驗。
- 上一篇文章: C#語言核心優勢全景解析:從C/C++演進到.NET生態
- 下一篇文章: C#多線程編程進階(三):Monitor類實現生產者-消費者模式
Copyright ©
程式碼之家 All Rights Reserved