日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java中一个线程最小优先数_Java线程的优先级

發布時間:2024/7/19 java 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java中一个线程最小优先数_Java线程的优先级 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java線程可以有優先級的設定,高優先級的線程比低優先級的線程有更高的幾率得到執行(不完全正確,請參考下面的“線程優先級的問題“)。

記住當線程的優先級沒有指定時,所有線程都攜帶普通優先級。

優先級可以用從1到10的范圍指定。10表示最高優先級,1表示最低優先級,5是普通優先級。

記住優先級最高的線程在執行時被給予優先。但是不能保證線程在啟動時就進入運行狀態。

與在線程池中等待運行機會的線程相比,當前正在運行的線程可能總是擁有更高的優先級。

由調度程序決定哪一個線程被執行。

t.setPriority()用來設定線程的優先級。

記住在線程開始方法被調用之前,線程的優先級應該被設定。

你可以使用常量,如MIN_PRIORITY,MAX_PRIORITY,NORM_PRIORITY來設定優先級

優先級的取值

Java線程的優先級是一個整數,其取值范圍是1 (Thread.MIN_PRIORITY?) - 10 (Thread.MAX_PRIORITY?)。

Thread源代碼里對NORM_PRIORITY (數值為5) 的注釋是“線程默認的優先級”public static final int MIN_PRIORITY = 1;

public static final int NORM_PRIORITY = 5;

public static final int MAX_PRIORITY = 10;

其實不然。默認的優先級是父線程的優先級。在init方法里,Thread parent = currentThread();

this.priority = parent.getPriority();

或許這么解釋是因為Java程序的主線程(main方法)的優先級默認是為NORM_PRIORITY,這樣不主動設定優先級的,后續創建的線程的優先級也都是NORM_PRIORITY了。public static void main(String[] args) {

System.out.println(Thread.currentThread().getPriority());

}

其執行結果是5。

設置優先級

可以通過setPriority方法(final的,不能被子類重載)更改優先級。優先級不能超出1-10的取值范圍,否則拋出IllegalArgumentException。另外如果該線程已經屬于一個線程組(ThreadGroup),該線程的優先級不能超過該線程組的優先級:public final void setPriority(int i) {

checkAccess();

if(i > 10 || i < 1)

throw new IllegalArgumentException();

ThreadGroup threadgroup;

if((threadgroup = getThreadGroup()) != null) {

if(i > threadgroup.getMaxPriority())

i = threadgroup.getMaxPriority();

setPriority0(priority = i);

}

}

其中setPriority0是一個本地方法。private native void setPriority0(int i);

線程組的最大優先級

我們可以設定線程組的最大優先級,當創建屬于該線程組的線程時該線程的優先級不能超過這個數。

線程組最大優先級的設定:系統線程組的最大優先級默認為Thread.MAX_PRIORITY

創建線程組的時候其最大優先級默認為父線程組(如果未指定父線程組,則其父線程組默認為當前線程所屬線程組)的最大優先級

可以通過setMaxPriority更改最大優先級,但無法超過父線程組的最大優先級

setMaxPriority的問題:該方法只能更改本線程組及其子線程組(遞歸)的最大優先級。

但不能影響已經創建的直接或間接屬于該線程組的線程的優先級,也就是說,即使目前有一個子線程的優先級比新設定的線程組優先級大,也不會更改該子線程的優先級。只有當試圖改變子線程的優先級或者創建新的子線程的時候,線程組的最大優先級才起作用。

線程優先級的問題

對于線程優先級,我們需要注意:

* Thread.setPriority()可能根本不做任何事情,這跟你的操作系統和虛擬機版本有關

* 線程優先級對于不同的線程調度器可能有不同的含義,可能并不是你直觀的推測。特別地,優先級并不一定是指CPU的分享。在UNIX系統,優先級或多或少可以認為是CPU的分配,但Windows不是這樣

* 線程的優先級通常是全局的和局部的優先級設定的組合。Java的setPriority()方法只應用于局部的優先級。換句話說,你不能在整個可能的范圍 內設定優先級。(這通常是一種保護的方式,你大概不希望鼠標指針的線程或者處理音頻數據的線程被其它隨機的用戶線程所搶占)

* 不同的系統有不同的線程優先級的取值范圍,但是Java定義了10個級別(1-10)。這樣就有可能出現幾個線程在一個操作系統里有不同的優先級,在另外一個操作系統里卻有相同的優先級(并因此可能有意想不到的行為)

* 操作系統可能(并通常這么做)根據線程的優先級給線程添加一些專有的行為(例如”only give a quantum boost if the priority is below X“)。這里再重復一次,優先級的定義有部分在不同系統間有差別。

* 大多數操作系統的線程調度器實際上執行的是在戰略的角度上對線程的優先級做臨時操作(例如當一個線程接收到它所等待的一個事件或者I/O),通常操作系統知道最多,試圖手工控制優先級可能只會干擾這個系統。

* 你的應用程序通常不知道有哪些其它進程運行的線程,所以對于整個系統來說,變更一個線程的優先級所帶來的影響是難于預測的。例如你可能發現,你有一個預期 為偶爾在后臺運行的低優先級的線程幾乎沒有運行,原因是一個病毒監控程序在一個稍微高一點的優先級(但仍然低于普通的優先級)上運行,并且無法預計你程序 的性能,它會根據你的客戶使用的防病毒程序不同而不同。

實際編碼注意事項不要假定高優先級的線程一定先于低優先級的線程執行,不要有邏輯依賴于線程優先級,否則可能產生意外結果

總結

以上是生活随笔為你收集整理的java中一个线程最小优先数_Java线程的优先级的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 人人搞人人干 | 中国黄色a级 | 日本一区二区三区电影在线观看 | 欧美黄色免费看 | 欧美成人免费 | 欧洲黄色录像 | 欧美变态另类刺激 | 99热国产在线观看 | 午夜在线观看视频网站 | 亚洲精品视频一区 | 亚洲精品一区二区在线观看 | 91亚洲精品在线 | 好吊色在线视频 | 91高清视频| 成人免费高清视频 | 精品一区不卡 | 久久香蕉热 | 日韩国产欧美视频 | 韩国伦理av| 久久精品美女 | 日本不卡一二三区 | 欧美狠狠干| 吖v在线| 精品国产一区二区三区久久久蜜臀 | av中字在线| 成人性生活免费视频 | 五月激情五月婷婷 | www黄色网 | 免费午夜av| 嫩草嫩草嫩草 | 欧美精品123 | 一级人爱视频 | 老鸭窝一区二区 | 亚洲日本一区二区 | 91tv在线观看| 精品人妻人人做人人爽夜夜爽 | 1000部拍拍拍18勿入免费视频 | xxxxxx日本 | 99视频久 | 天天看视频 | 穿情趣内衣被c到高潮视频 欧美性猛交xxxx黑人猛交 | 国产亚洲女人久久久久毛片 | 成人91在线 | 岛国av毛片| 一区二区三区有限公司 | 日韩午夜激情电影 | 91大奶| 天天摸天天碰 | 国产精品传媒视频 | 一区二区三区高清在线 | 日韩中文字幕av电影 | 久久久久久久久久影院 | 伊人青草| 成人午夜sm精品久久久久久久 | www.狠狠撸.com | 国内精品偷拍视频 | 91精品视频在线看 | 久久亚州| 国产 一二三四五六 | 午夜精品久久久久久99热 | 日韩中文字幕亚洲精品欧美 | 青娱乐最新视频 | 国产馆av| 全部免费毛片在线播放高潮 | 国产精品九九热 | 不卡日韩 | 强辱丰满人妻hd中文字幕 | 日日夜夜网站 | 欧美三级视频在线播放 | 日一日干一干 | 一区二区精品久久 | 青娱乐福利视频 | 日本一区二区不卡在线 | 97超碰色| 久久成人a毛片免费观看网站 | 欲色影音 | 91亚瑟视频| 欧美亚一区二区三区 | 日日干夜夜骑 | 国产美女激情视频 | 在线精品小视频 | 色99在线| 国产又粗又猛又爽又黄的视频一 | 欧美精品免费在线观看 | 9l视频自拍九色9l视频 | 日韩免费中文字幕 | 少妇呻吟视频 | 色老板最新地址 | 欧美一级二级在线观看 | 日本www在线播放 | 人妻天天爽夜夜爽一区二区三区 | 欧美激情 一区 | 免费成人黄 | 337p日本欧洲亚洲鲁鲁 | 粗大的内捧猛烈进出在线视频 | 成人欧美视频在线观看 | 欧美影视一区二区 | 日韩av手机在线播放 | 一级国产黄色片 |