5 獲取和設定執行緒優先順序

2022-10-09 20:39:14 字數 2300 閱讀 5120

獲取和設定執行緒優先順序

優先順序對執行緒至關重要。cpu優先執行優先順序高的執行緒。

下面我們將來介紹

1.如何獲取執行緒的優先順序

2.如何設定執行緒的優先順序?

首先介紹的是如何獲取執行緒的優先順序,通過thread類的getpriority方法,就可以獲取到執行緒的優先順序。它返回的是乙個int型別。

下面我們來看看如何使用該方法,以獲取主線程的優先順序為例,先通過currentthread方法獲取到當前執行緒物件,然後呼叫它的getpriority方法獲取到它的優先順序,最後列印它的優先順序。

從執行結果來看,可執行緒的優先順序是5,優先順序的等級一共有1~10 10個等級,最低的是1,最高的是10。

下面我們來看看如何設定執行緒的優先順序,通過setpriority方法就可以給執行緒設定新的優先順序,該方法只有乙個引數newpriority,用來指定新的優先順序。

下面我們來看看如何使用該方法,呼叫setpriority方法,將主線程的優先順序設定為10,再次獲取主線程的優先順序,最後列印出線程的優先順序,對比兩次優先順序,看看是否有變化。

結果來看,主線程的優先順序由5變成了10。

這裡給大家介紹三個常用的優先順序常量,它們都位於thread類裡面,分別是最小優先順序min_priority,值為一,

預設優先順序normal priority值為5,

最大乙個優先順序max priority值為10

我們就直接使用max priority代替這個10。 

就像這樣

我們來總結一下本節的內容,本節介紹了thread類的兩個方法,分別是getpriority和setpriority。getpriority方法用於獲取執行緒的優先順序,setpriority用於設定執行緒的優先順序。在實際開發中偶爾也會用到他們。 

附錄:筆記完整文字:

優先順序對執行緒至關重要。cpu優先執行優先順序高的執行緒。下面我們將來介紹如何獲取執行緒的優先順序和如何設定執行緒的優先順序?首先介紹的是如何獲取執行緒的優先順序,通過學位帶隊的get priority方法,就可以獲取到現成的優先順序。它返回的是乙個應酬型別。下面我們來看看如何使用該方法,以獲取主線程的優先順序為例,先通過current所謂的方法獲取到當前執行緒物件,然後呼叫它的data、priority方法獲取到它的優先順序,最後列印它的優先順序。從執行結果來看,可執行緒的優先順序是5,優先順序的等級一共有1~10 10個等級,最低的是一最高的事實。 下面我們來看看如何設定執行緒的優先順序,通過c的、priority方法就可以給執行緒設定新的優先順序,該方法只有乙個引數又priority,用來指定新的優先順序。下面我們來看看如何使用該方法,呼叫set priority方法,將主線程的優先順序設定為10,再次獲取無限它的優先順序,最後列印出現場的優先順序,對比兩次優先順序,看看是否有變化。結果來看,主線程的優先順序由5變成了10。這裡給大家介紹三個常用的優先順序產量,它們都位於此類的類裡面,分別是最小乙個性疾病,priority值為一,預設優先順序normal priority值為5,最大乙個星級max priority值為10,我們就直接使用max priority代替這個時。 就像這樣,我們來總結一下本節的內容,本節介紹了three類的兩個方法,分別是get priority和set priority。data priority方法用於獲取執行緒的優先順序,set priority用於設定執行緒的優先順序。在實際開發中偶爾也會用到他們。

設定和獲取執行緒優先順序方法練習示例

int getpriority 返回此執行緒的優先順序。public 執行結果可以得出,執行緒預設的優先順序是 5 void setpriority int newpriority 更改此執行緒的優先順序。把優先順序設定成100時會發生異常 illegalargumentexception,此異常如...

執行緒優先順序的設定

執行緒的優先順序 1 10,10為最高端別,1為最低級別,5為預設級別 thread.min priority 最小優先順序 thread.max priority 最高優先順序 thread.norm priority 預設優先順序 設定優先順序 public class jointhread2 ...

Linux執行緒優先順序設定

本程式會讓系統失去i o響應,不建議去執行!include include include include include include void thr fun void arg if policy sched fifo else if policy sched other else if po...