Java 線程優(yōu)先級(jí)詳解及實(shí)例
Java 線程優(yōu)先級(jí)詳解及實(shí)例
操作系統(tǒng)基本采用時(shí)分的調(diào)度運(yùn)行線程,操作系統(tǒng)會(huì)分出一個(gè)個(gè)時(shí)間片,線程會(huì)被分配到若干個(gè)時(shí)間片,當(dāng)線程的時(shí)間片用完了就會(huì)發(fā)生線程調(diào)度,并且等待著下次調(diào)度,線程被分配到的時(shí)間片多少也就決定了線程使用處理器資源的多少,而線程優(yōu)先級(jí)就是決定線程能夠分配多少處理器資源的線程屬性。
在Java多線程中,通過一個(gè)整形變量priority來控制優(yōu)先級(jí),優(yōu)先級(jí)的范圍從1-10.默認(rèn)是5,優(yōu)先級(jí)越高越好。
public class Priority { public static void main(String[] args) { Thread t1 = new Mythread(); t1.setName("線程1"); t1.setPriority(1); //設(shè)置優(yōu)先級(jí) Thread t2 = new Mythread(); t2.setName("線程2"); t2.setPriority(10); //設(shè)置優(yōu)先級(jí) t1.start(); t2.start(); } } class Mythread extends Thread{ @Override public void run() { for(int i=0;i<10;i++){ System.out.println(getName()+"執(zhí)行"+i+"次"); } } }
執(zhí)行結(jié)果:
線程2執(zhí)行0次 線程2執(zhí)行1次 線程2執(zhí)行2次 線程2執(zhí)行3次 線程2執(zhí)行4次 線程2執(zhí)行5次 線程2執(zhí)行6次 線程2執(zhí)行7次 線程2執(zhí)行8次 線程2執(zhí)行9次 線程1執(zhí)行0次 線程1執(zhí)行1次 線程1執(zhí)行2次 線程1執(zhí)行3次 線程1執(zhí)行4次 線程1執(zhí)行5次 線程1執(zhí)行6次 線程1執(zhí)行7次 線程1執(zhí)行8次 線程1執(zhí)行9次
我們可以看到系統(tǒng)會(huì)優(yōu)先執(zhí)行線程1。但是也并不是每次都會(huì)優(yōu)先執(zhí)行線程1的,特別是兩個(gè)線程優(yōu)先級(jí)區(qū)別不是很大的時(shí)候,線程優(yōu)先級(jí)基本上作用不大。線程優(yōu)先級(jí)不能作為程序正確性的依賴,因?yàn)椴僮飨到y(tǒng)可以完全不用理會(huì)java線程對(duì)于優(yōu)先級(jí)的決定。
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
使用GenericObjectPool避免泄漏設(shè)置方法
這篇文章主要為大家介紹了使用GenericObjectPool避免泄漏的設(shè)置方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09Java實(shí)現(xiàn)通過IP獲取IP歸屬地的方法(離線+在線)
我們都知道安全攻擊都是在某臺(tái)客戶機(jī)上執(zhí)行某些惡意操作致使服務(wù)端響應(yīng)異常崩潰亦或響應(yīng)數(shù)據(jù)被篡改,首先我想到的是對(duì)訪問的web端做一個(gè)IP的校驗(yàn),那么我們首先得知道客戶端的IP是多少,接下來此文重點(diǎn)介紹如何獲得,需要的朋友可以參考下2023-10-10Java下3中XML解析 DOM方式、SAX方式和StAX方式
目前我知道的JAVA解析XML的方式有:DOM, SAX, StAX;如果選用這幾種,感覺還是有點(diǎn)麻煩;如果使用:JAXB(Java Architecture for XML Binding),個(gè)人覺得太方便了2013-04-04SpringBoot Redis配置Fastjson進(jìn)行序列化和反序列化實(shí)現(xiàn)
這篇文章主要介紹了SpringBoot Redis配置Fastjson進(jìn)行序列化和反序列化實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10JDBC用IDEA連接SQLServer數(shù)據(jù)庫的超實(shí)用教程
JDBC是Java連接數(shù)據(jù)庫的一種接口,它由各個(gè)數(shù)據(jù)庫廠商為開發(fā)者提供的接口,要使用它需要到相應(yīng)廠商下載對(duì)應(yīng)的jar包,下面這篇文章主要給大家介紹了關(guān)于JDBC用IDEA連接SQLServer數(shù)據(jù)庫的超實(shí)用教程,需要的朋友可以參考下2023-05-05idea統(tǒng)計(jì)代碼行數(shù)Statistic的步驟詳解
這篇文章主要介紹了idea統(tǒng)計(jì)代碼行數(shù)Statistic的步驟詳解,本文通過使用Statistic插件操作的,通過圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10