您好,登錄后才能下訂單哦!
這篇“C#怎么使用ThreadPriority設置線程優先級”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“C#怎么使用ThreadPriority設置線程優先級”文章吧。
如果在應用程序中有多個線程在運行,但一些線程比另一些線程重要,這種情況下可以在一個進程中為不同的線程指定不同的優先級。線程的優先級可以通過Thread類Priority屬性設置,Priority屬性是一個ThreadPriority型枚舉,列舉了5個優先等級:AboveNormal、BelowNormal、Highest、Lowest、Normal。公共語言運行庫默認是Normal類型的。
class Program { static void Main(string[] args) { Thread threadA = new Thread(ThreadMethod); //執行的必須是無返回值的方法 threadA.Name = "A"; Thread threadB = new Thread(ThreadMethod); threadB.Name = "B"; threadA.Priority = ThreadPriority.Highest; threadB.Priority = ThreadPriority.BelowNormal; threadB.Start(); threadA.Start(); Thread.CurrentThread.Name = "C";//默認為Normal ThreadMethod(new object()); Console.ReadKey(); } public static void ThreadMethod(object parameter) { for (int i = 1; i <= 500; i++) { Console.Write(Thread.CurrentThread.Name); } } }
上面的代碼中有三個線程,threadA,threadB和主線程,threadA優先級最高,threadB優先級最低。這一點從運行結果中也可以看出,線程B偶爾會出現在主線程和線程A前面。當有多個線程同時處于可執行狀態,系統優先執行優先級較高的線程,但這只意味著優先級較高的線程占有更多的CPU時間,并不意味著一定要先執行完優先級較高的線程,才會執行優先級較低的線程。
優先級越高表示CPU分配給該線程的時間片越多,執行時間就多
優先級越低表示CPU分配給該線程的時間片越少,執行時間就少
以上就是關于“C#怎么使用ThreadPriority設置線程優先級”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。