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

首頁(yè) > 編程 > Java > 正文

Java線程調(diào)度之線程休眠用法分析

2019-11-26 15:09:25
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文實(shí)例分析了Java線程調(diào)度之線程休眠用法。分享給大家供大家參考。具體分析如下:

Java線程調(diào)度是Java多線程的核心,只有良好的調(diào)度,才能充分發(fā)揮系統(tǒng)的性能,提高程序的執(zhí)行效率。
 
這里要明確的一點(diǎn),不管程序員怎么編寫調(diào)度,只能最大限度的影響線程執(zhí)行的次序,而不能做到精準(zhǔn)控制。
 
線程休眠的目的是使線程讓出CPU的最簡(jiǎn)單的做法之一,線程休眠時(shí)候,會(huì)將CPU資源交給其他線程,以便能輪換執(zhí)行,當(dāng)休眠一定時(shí)間后,線程會(huì)蘇醒,進(jìn)入準(zhǔn)備狀態(tài)等待執(zhí)行。
 
線程休眠的方法是Thread.sleep(long millis) 和Thread.sleep(long millis, int nanos) ,均為靜態(tài)方法,那調(diào)用sleep休眠的哪個(gè)線程呢?簡(jiǎn)單說(shuō),哪個(gè)線程調(diào)用sleep,就休眠哪個(gè)線程。

/** * Java線程:線程的調(diào)度-休眠 * * @author leizhimin 2009-11-4 9:02:40 */ public class Test {  public static void main(String[] args) {   Thread t1 = new MyThread1();   Thread t2 = new Thread(new MyRunnable());   t1.start();   t2.start();  } } class MyThread1 extends Thread {  public void run() {   for (int i = 0; i < 3; i++) {    System.out.println("線程1第" + i + "次執(zhí)行!");    try {     Thread.sleep(50);    } catch (InterruptedException e) {     e.printStackTrace();    }   }  } } class MyRunnable implements Runnable {  public void run() {   for (int i = 0; i < 3; i++) {    System.out.println("線程2第" + i + "次執(zhí)行!");    try {     Thread.sleep(50);    } catch (InterruptedException e) {     e.printStackTrace();    }   }  } }

運(yùn)行結(jié)果如下:

線程2第0次執(zhí)行! 線程1第0次執(zhí)行! 線程1第1次執(zhí)行! 線程2第1次執(zhí)行! 線程1第2次執(zhí)行! 線程2第2次執(zhí)行! Process finished with exit code 0

從上面的結(jié)果輸出可以看出,無(wú)法精準(zhǔn)保證線程執(zhí)行次序。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 平江县| 西乌珠穆沁旗| 桂平市| 政和县| 峨眉山市| 张家界市| 翁牛特旗| 闽清县| 烟台市| 射洪县| 伊春市| 广东省| 宜章县| 嘉祥县| 中牟县| 鄱阳县| 宁河县| 清河县| 贡山| 巴塘县| 黄山市| 舒兰市| 荆州市| 古田县| 万盛区| 商都县| 客服| 横峰县| 江都市| 六盘水市| 米泉市| 同心县| 陆良县| 安福县| 运城市| 吴旗县| 榆中县| 渭源县| 洪湖市| 龙泉市| 岑溪市|