程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 線程控制——更多線程控制方法

線程控制——更多線程控制方法

編輯:C#入門知識

1、Sleep和Interrupt

Sleep函數阻塞當前線程一定的時間。當時間到達後,操作系統在下一個時間片按照其調度算法繼續調度執行。

Interrupt函數喚醒處於WaitSleepJoin狀態的線程。本質上,Interrupt函數向處於WaitSleepJoin狀態的線程觸發ThreadInterryptedException,如果該異常沒有被處理則會繼續向上拋出,如圖:

\

 

因此,寫多線程程序的一個最佳實踐是在線程的主函數中用try-catch塊捕獲所有可能的異常。

2、後台線程和前台線程

線程的IsBackground屬性控制線程是前台線程或者後台線程,前台線程和後台線程只有一點不同,後台線程不會阻止進行終止,如果一個進程的所有前台線程終止,CLR將結束此進程,其它的後台運行線程同時也被強行終止,而不會等待其執行完成。

 

3、Suspend和Resume

Suspend和Resume是已經廢棄的兩個函數,Suspend函數將線程轉換為Suspended狀態,Resume函數將線程從Suspended狀態轉換為運行狀態


摘自 Enjoy .NET

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved