最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java 線程的優(yōu)先級(jí)(setPriority)案例詳解

 更新時(shí)間:2021年08月27日 12:02:21   作者:飛少fly  
這篇文章主要介紹了Java 線程的優(yōu)先級(jí)(setPriority)案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下

線程可以劃分優(yōu)先級(jí),優(yōu)先級(jí)高的線程得到的CPU資源比較多,也就是CPU優(yōu)先執(zhí)行優(yōu)先級(jí)高的線程對(duì)象中的任務(wù)。

設(shè)置線程優(yōu)先級(jí)有助于幫助線程規(guī)劃器確定下一次選中哪一個(gè)線程優(yōu)先執(zhí)行。

java中優(yōu)先級(jí)分為1-10個(gè)級(jí)別

線程優(yōu)先級(jí)的繼承特性 例如a線程啟迪b線程,則b線程的優(yōu)先級(jí)與a的一樣。

代碼說(shuō)話:(很簡(jiǎn)單)

public class MyThread1 extends Thread {
	@Override
	public void run() {
		System.out.println("MyThread1 run priority=" + this.getPriority());
		MyThread2 thread2 = new MyThread2();
		thread2.start();
	}
}
 
 
public class MyThread2 extends Thread {
	@Override
	public void run() {
		System.out.println("MyThread2 run priority=" + this.getPriority());
	}
}
 
public static void main(String[] args) {
		System.out.println("main thread begin priority="
				+ Thread.currentThread().getPriority());
		
		Thread.currentThread().setPriority(6);
		
		System.out.println("main thread end   priority="
				+ Thread.currentThread().getPriority());
		
		MyThread1 thread1 = new MyThread1();
		thread1.start();
	}

優(yōu)先級(jí)具有規(guī)則性

public class MyThread1 extends Thread {
	@Override
	public void run() {
		long beginTime = System.currentTimeMillis();
		long addResult = 0;
		for (int j = 0; j < 10; j++) {
			for (int i = 0; i < 50000; i++) {
				Random random = new Random();
				random.nextInt();
				addResult = addResult + i;
			}
		}
		long endTime = System.currentTimeMillis();
		System.out.println("★★★★★thread 1 use time=" + (endTime - beginTime));
	}
}
 
public class MyThread2 extends Thread {
	@Override
	public void run() {
		long beginTime = System.currentTimeMillis();
		long addResult = 0;
		for (int j = 0; j < 10; j++) {
			for (int i = 0; i < 50000; i++) {
				Random random = new Random();
				random.nextInt();
				addResult = addResult + i;
			}
		}
		long endTime = System.currentTimeMillis();
		System.out.println("☆☆☆☆☆thread 2 use time=" + (endTime - beginTime));
	}
}
 
public static void main(String[] args) {
		for (int i = 0; i < 5; i++) {
			MyThread1 thread1 = new MyThread1();
			thread1.setPriority(1);
			thread1.start();
 
			MyThread2 thread2 = new MyThread2();
			thread2.setPriority(10);
			thread2.start();
		}
	}

高優(yōu)先級(jí)的線程總是先執(zhí)行完

線程的優(yōu)先級(jí)和代碼的執(zhí)行順序沒(méi)有關(guān)系

優(yōu)先級(jí)具有隨機(jī)性

一般優(yōu)先級(jí)較高的線程先執(zhí)行run()方法,但是這個(gè)不能說(shuō)的但肯定,因?yàn)榫€程的優(yōu)先級(jí)具有 “隨機(jī)性”也就是較高線程不一定每一次都先執(zhí)行完。

public class MyThread1 extends Thread {
	@Override
	public void run() {
		long beginTime = System.currentTimeMillis();
		for (int i = 0; i < 1000; i++) {
			Random random = new Random();
			random.nextInt();
		}
		long endTime = System.currentTimeMillis();
		System.out.println("★★★★★thread 1 use time=" + (endTime - beginTime));
	}
}
 
public class MyThread2 extends Thread {
	@Override
	public void run() {
		long beginTime = System.currentTimeMillis();
		for (int i = 0; i < 1000; i++) {
			Random random = new Random();
			random.nextInt();
		}
		long endTime = System.currentTimeMillis();
		System.out.println("☆☆☆☆☆thread 2 use time=" + (endTime - beginTime));
	}
}
 
 
public static void main(String[] args) {
		for (int i = 0; i < 5; i++) {
			MyThread1 thread1 = new MyThread1();
			thread1.setPriority(5);
			thread1.start();
 
			MyThread2 thread2 = new MyThread2();
			thread2.setPriority(6);
			thread2.start();
		}
	}

守護(hù)線程介紹:

java 中有兩種線程 一個(gè)是用戶線程,一個(gè)是守護(hù)(Daemon)線程

典型的守護(hù)線程就是垃圾回收線程,如果進(jìn)程中沒(méi)有非守護(hù)線程了,則守護(hù)線程自動(dòng)銷毀。

守護(hù)線程作用就是為其他線程的運(yùn)行提供便利的服務(wù),比如GC。

public class MyThread extends Thread {
	private int i = 0;
 
	@Override
	public void run() {
		try {
			while (true) {
				i++;
				System.out.println("i=" + (i));
				Thread.sleep(1000);
			}
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
 
 
public static void main(String[] args) {
		try {
			MyThread thread = new MyThread();
			thread.setDaemon(true);//設(shè)置守護(hù)線程
			thread.start();
			Thread.sleep(5000);
			System.out.println("我離開(kāi)thread對(duì)象也不再打印了,也就是停止了!");
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

到此這篇關(guān)于Java 線程的優(yōu)先級(jí)(setPriority)案例詳解的文章就介紹到這了,更多相關(guān)Java 線程的優(yōu)先級(jí)(setPriority)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 淺談使用Java Web獲取客戶端真實(shí)IP的方法示例詳解

    淺談使用Java Web獲取客戶端真實(shí)IP的方法示例詳解

    這篇文章主要介紹了使用Java-Web獲取客戶端真實(shí)IP的方法示例詳解。一般我們無(wú)法獲取客戶端真實(shí)IP,原因是:當(dāng)我們通過(guò)request獲取客戶端IP時(shí),自身服務(wù)器通常會(huì)為了保護(hù)信息或者負(fù)載均衡的目的,對(duì)自身服務(wù)器做反向代理。對(duì)此感興趣可以了解一下
    2020-07-07
  • 輕松掌握J(rèn)ava注解,讓編程更智能、更優(yōu)雅

    輕松掌握J(rèn)ava注解,讓編程更智能、更優(yōu)雅

    輕松掌握J(rèn)ava注解?沒(méi)問(wèn)題!想要讓你的Java代碼更具可讀性、維護(hù)性,同時(shí)提升開(kāi)發(fā)效率?本指南將帶你快速入門Java注解的世界,只需短短幾分鐘,你就能揭秘這個(gè)強(qiáng)大的編程工具,讓編寫有聲明性邏輯的代碼變得輕而易舉,趕快一起來(lái)探索吧!
    2024-01-01
  • Java設(shè)計(jì)模式之策略模式

    Java設(shè)計(jì)模式之策略模式

    這篇文章介紹了Java設(shè)計(jì)模式之策略模式,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-10-10
  • java匿名內(nèi)部類實(shí)例簡(jiǎn)析

    java匿名內(nèi)部類實(shí)例簡(jiǎn)析

    匿名類是不能有名稱的類,所以沒(méi)辦法引用它們,必須在創(chuàng)建時(shí),作為new語(yǔ)句的一部分來(lái)聲明它們,需要了解更多的可以參考本文
    2012-11-11
  • Java中的構(gòu)造方法this、super的用法詳解

    Java中的構(gòu)造方法this、super的用法詳解

    這篇文章較詳細(xì)的給大家介紹了Java中的構(gòu)造方法this、super的用法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2018-07-07
  • 詳解JVM棧溢出和堆溢出

    詳解JVM棧溢出和堆溢出

    今天帶大家學(xué)習(xí)的是Java的相關(guān)知識(shí),文章圍繞著JVM棧溢出和堆溢出展開(kāi),文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • 跟我學(xué)Java Swing之游戲設(shè)計(jì)(2)

    跟我學(xué)Java Swing之游戲設(shè)計(jì)(2)

    跟我學(xué)Java Swing之游戲設(shè)計(jì)(2)...
    2006-12-12
  • 通過(guò)實(shí)例解析java過(guò)濾器和攔截器的區(qū)別

    通過(guò)實(shí)例解析java過(guò)濾器和攔截器的區(qū)別

    這篇文章主要介紹了通過(guò)實(shí)例解析java過(guò)濾器和攔截器的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Spring中的AOP操作你了解嗎

    Spring中的AOP操作你了解嗎

    這篇文章主要為大家詳細(xì)介紹了Spring中的AOP操作,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-02-02
  • 云IDE:Eclipse Che:Eclipse下一代IDE(推薦)

    云IDE:Eclipse Che:Eclipse下一代IDE(推薦)

    這篇文章主要介紹了云IDE:Eclipse Che:Eclipse下一代IDE,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09

最新評(píng)論

金塔县| 饶阳县| 榕江县| 景泰县| 虎林市| 绿春县| 泰和县| 西乌珠穆沁旗| 阜新| 施秉县| 汽车| 响水县| 海原县| 甘孜| 托克托县| 上杭县| 巫溪县| 阳朔县| 眉山市| 镇雄县| 华坪县| 安龙县| 滕州市| 邓州市| 鹰潭市| 苏尼特左旗| 潮州市| 怀远县| 丁青县| 彭泽县| 兴化市| 丘北县| 海门市| 凤山县| 隆尧县| 九龙坡区| 缙云县| 西青区| 青州市| 牟定县| 应用必备|