国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

線程的優先級、Thread.yield()、Thread.sleep(5000)

2019-11-08 02:47:42
字體:
來源:轉載
供稿:網友
改變線程的優先級

線程的優先級只要知道就可以了,用默認的5級就足夠。

千萬不要改變線程的優先級,否則若是虛擬機中垃圾回收機制被餓死了不能執行,導致虛擬機內存耗盡崩潰。

任意一個項目

main方法:

public class Main {	/**	 * @param args	 */	public static void main(String[] args) {		Thread1 t1 = new Thread1("小黑線程-最低優先級");		Thread2 t2 = new Thread2("小紅線程-最高優先級");		// 改變線程的優先級		// 線程的優先級只要知道就可以了,用默認的5級就足夠,千萬不要改變線程的優先級		t1.setPRiority(Thread.MIN_PRIORITY);		t2.setPriority(10);		t1.start();		t2.start();	}}

線程1:

public class Thread1 extends Thread {	public Thread1(String name) {		super(name);	}	// 我們把線程要執行的操作寫在run方法中	// run()方法又被稱為線程體	// 取得優先級并顯示	// 優先級越高被線程調度器選中執行的機會越高	public void run() {		for (int i = 1; i <= 100000; i++) {			System.out.println(this.getName() + "在計數:i=" + i + ",線程的優先級是" + this.getPriority());		}	}}

線程2:

public class Thread2 extends Thread {	public Thread2(String name) {		super(name);	}	// 我們把線程要執行的操作寫在run方法中	// run()方法又被稱為線程體	public void run() {		for (int i = 1; i <= 100000; i++) {			System.out.println(this.getName() + "在計數:i=" + i + ",線程的優先級是" + this.getPriority());		}	}}上面代碼可以執行測試改變線程的優先級。

Thread.yield();//注意:線程的sleep()/yield()方法都是靜態方法.靜態方法調用的時候和對象無關 

暫停當前正在執行的線程.該線程重新回到了就緒隊列,又有可能被線程調度器重新選中。即使這樣的話,相對于其他的線程來說,也是讓其他的線程更多的獲得了運行機會。

任意一個項目

main方法:

public class Main {	/**	 * @param args	 */	public static void main(String[] args) {		Thread1 t1 = new Thread1("小黑線程-最低優先級");		Thread2 t2 = new Thread2("小紅線程-最高優先級");		// 改變線程的優先級		// 線程的優先級只要知道就可以了,用默認的5級就足夠,千萬不要改變線程的優先級		t1.setPriority(Thread.MIN_PRIORITY);		t2.setPriority(10);		t1.start();		t2.start();	}}

線程1:

public class Thread1 extends Thread {	public Thread1(String name) {		super(name);	}	// 我們把線程要執行的操作寫在run方法中	// run()方法又被稱為線程體	// 取得優先級并顯示	// 優先級越高被線程調度器選中執行的機會越高	public void run() {		for (int i = 1; i <= 100000; i++) {			System.out.println(this.getName() + "在計數:i=" + i + ",線程的優先級是" + this.getPriority());		}	}}

線程2:

public class Thread2 extends Thread {	public Thread2(String name) {		super(name);	}	// 我們把線程要執行的操作寫在run方法中	// run()方法又被稱為線程體	public void run() {		for (int i = 1; i <= 100000; i++) {			System.err.println(this.getName() + "在計數:i=" + i + ",線程的優先級是"					+ this.getPriority());			// =====================================================			// 注意:線程的sleep()/yield()方法都是靜態方法.靜態方法調用的時候和對象無關			// 暫停當前正在執行的線程.該線程重新回到了就緒隊列,又有可能被線程調度器重新選中			// 即使這樣的話,相對于其他的線程來說,也是讓其他的線程更多的獲得了運行機會			Thread.yield();		}	}}上面代碼可以執行測試Thread.yield();讓其他的線程更多的獲得了運行機會Thread.sleep(5000);// 在哪個線程中調用類線程的sleep(),哪個線程就會睡覺

任意一個項目

main方法:

public class Main {	/**	 * @param args	 */	public static void main(String[] args) {		Thread1 t1 = new Thread1("小黑線程-最低優先級");		Thread2 t2 = new Thread2("小紅線程-最高優先級");		try {			// 注意:線程的sleep()/yield()方法都是靜態方法.靜態方法調用的時候和對象無關			// 在哪個線程中調用類線程的sleep(),哪個線程就會睡覺			// 下面的代碼是在主線程中調用了線程的sleep(),則主線程睡覺			t1.sleep(10000);		} catch (InterruptedException e) {			e.printStackTrace();		}		// 改變線程的優先級		// 線程的優先級只要知道就可以了,用默認的5級就足夠,千萬不要改變線程的優先級		t1.setPriority(Thread.MIN_PRIORITY);		t2.setPriority(10);		t1.start();		t2.start();	}}

線程1:

public class Thread1 extends Thread {	public Thread1(String name) {		super(name);	}	// 我們把線程要執行的操作寫在run方法中	// run()方法又被稱為線程體	// 取得優先級并顯示	// 優先級越高被線程調度器選中執行的機會越高	public void run() {		for (int i = 1; i <= 100000; i++) {			System.out.println(this.getName() + "在計數:i=" + i + ",線程的優先級是" + this.getPriority());		}	}}

線程2:

public class Thread2 extends Thread {	public Thread2(String name) {		super(name);	}	// 我們把線程要執行的操作寫在run方法中	// run()方法又被稱為線程體	public void run() {		for (int i = 1; i <= 100000; i++) {			System.err.println(this.getName() + "在計數:i=" + i + ",線程的優先級是"					+ this.getPriority());			// =====================================================			// 注意:線程的sleep()/yield()方法都是靜態方法.靜態方法調用的時候和對象無關			// 在哪個線程中調用類線程的sleep(),哪個線程就會睡覺			try {				// 線程在睡覺期間不會回到就緒隊列.該線程睡醒之后,才會重新回到就緒隊列				Thread.sleep(5000);			} catch (InterruptedException e) {				e.printStackTrace();			}		}	}}上面代碼可以執行測試Thread.sleep(5000);// 在哪個線程中調用類線程的sleep(),哪個線程就會睡覺。

希望對你有幫助,祝你有一個好心情,加油!

若有錯誤、不全、可優化的點,歡迎糾正與補充;轉載請注明出處!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 湖南省| 凉城县| 阿克苏市| 教育| 岚皋县| 泸水县| 清远市| 楚雄市| 浠水县| 西吉县| 九台市| 上栗县| 安远县| 磐石市| 禄劝| 巩留县| 博罗县| 赤峰市| 海宁市| 栾城县| 聂拉木县| 合山市| 桃园市| 武清区| 杨浦区| 靖宇县| 塘沽区| 贡山| 措美县| 晋州市| 镇康县| 呼和浩特市| 漳浦县| 庆元县| 连云港市| 鞍山市| 许昌市| 项城市| 邵阳市| 五指山市| 布拖县|