亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

java基本教程之線程休眠 java多線程教程

2019-11-26 15:46:50
字體:
來源:轉載
供稿:網友

本章涉及到的內容包括:
1. sleep()介紹
2. sleep()示例
3. sleep() 與 wait()的比較

1. sleep()介紹
sleep() 定義在Thread.java中。
sleep() 的作用是讓當前線程休眠,即當前線程會從“運行狀態”進入到“休眠(阻塞)狀態”。sleep()會指定休眠時間,線程休眠的時間會大于/等于該休眠時間;在線程重新被喚醒時,它會由“阻塞狀態”變成“就緒狀態”,從而等待cpu的調度執行。


2. sleep()示例
下面通過一個簡單示例演示sleep()的用法。

復制代碼 代碼如下:

 // SleepTest.java的源碼
 class ThreadA extends Thread{
     public ThreadA(String name){
         super(name);
     }
     public synchronized void run() {
         try {
             for(int i=0; i <10; i++){
                 System.out.printf("%s: %d/n", this.getName(), i);
                // i能被4整除時,休眠100毫秒
                if (i%4 == 0)
                    Thread.sleep(100);
            }
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}

public class SleepTest{
    public static void main(String[] args){
        ThreadA t1 = new ThreadA("t1");
        t1.start();
    }
}

運行結果:

復制代碼 代碼如下:

t1: 0
t1: 1
t1: 2
t1: 3
t1: 4
t1: 5
t1: 6
t1: 7
t1: 8
t1: 9

結果說明:
程序比較簡單,在主線程main中啟動線程t1。t1啟動之后,當t1中的計算i能被4整除時,t1會通過Thread.sleep(100)休眠100毫秒。

sleep() 與 wait()的比較
我們知道,wait()的作用是讓當前線程由“運行狀態”進入“等待(阻塞)狀態”的同時,也會釋放同步鎖。而sleep()的作用是也是讓當前線程由“運行狀態”進入到“休眠(阻塞)狀態”。
但是,wait()會釋放對象的同步鎖,而sleep()則不會釋放鎖。
下面通過示例演示sleep()是不會釋放鎖的。

復制代碼 代碼如下:

 // SleepLockTest.java的源碼
 public class SleepLockTest{

     private static Object obj = new Object();

     public static void main(String[] args){
         ThreadA t1 = new ThreadA("t1");
         ThreadA t2 = new ThreadA("t2");
         t1.start();
        t2.start();
    }

    static class ThreadA extends Thread{
        public ThreadA(String name){
            super(name);
        }
        public void run(){
            // 獲取obj對象的同步鎖
            synchronized (obj) {
                try {
                    for(int i=0; i <10; i++){
                        System.out.printf("%s: %d/n", this.getName(), i);
                        // i能被4整除時,休眠100毫秒
                        if (i%4 == 0)
                            Thread.sleep(100);
                    }
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

運行結果:

復制代碼 代碼如下:

t1: 0
t1: 1
t1: 2
t1: 3
t1: 4
t1: 5
t1: 6
t1: 7
t1: 8
t1: 9
t2: 0
t2: 1
t2: 2
t2: 3
t2: 4
t2: 5
t2: 6
t2: 7
t2: 8
t2: 9

結果說明:
主線程main中啟動了兩個線程t1和t2。t1和t2在run()會引用同一個對象的同步鎖,即synchronized(obj)。在t1運行過程中,雖然它會調用Thread.sleep(100);但是,t2是不會獲取cpu執行權的。因為,t1并沒有釋放“obj所持有的同步鎖”!
注意,若我們注釋掉synchronized (obj)后再次執行該程序,t1和t2是可以相互切換的。下面是注釋調synchronized(obj) 之后的源碼:

復制代碼 代碼如下:

 // SleepLockTest.java的源碼(注釋掉synchronized(obj))
 public class SleepLockTest{

     private static Object obj = new Object();

     public static void main(String[] args){
         ThreadA t1 = new ThreadA("t1");
         ThreadA t2 = new ThreadA("t2");
         t1.start();
        t2.start();
    }

    static class ThreadA extends Thread{
        public ThreadA(String name){
            super(name);
        }
        public void run(){
            // 獲取obj對象的同步鎖
//            synchronized (obj) {
                try {
                    for(int i=0; i <10; i++){
                        System.out.printf("%s: %d/n", this.getName(), i);
                        // i能被4整除時,休眠100毫秒
                        if (i%4 == 0)
                            Thread.sleep(100);
                    }
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
//            }
        }
    }
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩av高清不卡| 激情亚洲一区二区三区四区| 亚洲九九九在线观看| 热99久久精品| 欧美黑人一级爽快片淫片高清| 免费91麻豆精品国产自产在线观看| 国产人妖伪娘一区91| 欧美日韩综合视频| 亚洲在线www| 97国产精品人人爽人人做| 欧美日韩国产一区在线| 国产欧美在线视频| 国产精品极品美女粉嫩高清在线| 国产亚洲欧洲高清| 国产精品av在线| 在线播放亚洲激情| 国产精品久久久999| 国产成人拍精品视频午夜网站| 欧美乱大交xxxxx| 欧美黑人极品猛少妇色xxxxx| 国产精品毛片a∨一区二区三区|国| 久久天天躁夜夜躁狠狠躁2022| 亚洲最大成人免费视频| 91久久综合亚洲鲁鲁五月天| 国产69久久精品成人看| 国产精品主播视频| 欧美丰满少妇xxxxx| 国产精品成人免费电影| 亚洲精品福利免费在线观看| 久久精品国产欧美亚洲人人爽| 日韩av男人的天堂| 最近2019中文免费高清视频观看www99| 久久精品视频va| 久久精品精品电影网| 日韩精品久久久久| 亚洲香蕉伊综合在人在线视看| 久久精品亚洲94久久精品| 亚洲人成77777在线观看网| 国产精品欧美一区二区三区奶水| 欧美国产亚洲精品久久久8v| 国产欧美日韩中文字幕在线| 92国产精品视频| 热久久免费国产视频| 亚洲free性xxxx护士白浆| 国产婷婷色综合av蜜臀av| 97视频在线看| 亚洲精品资源在线| 久久精品国产一区二区电影| 亚洲男人的天堂在线播放| 亚洲自拍偷拍福利| 日韩在线观看网址| 精品国产电影一区| 亚洲二区中文字幕| 久久久久99精品久久久久| 日av在线播放中文不卡| 亚洲免费人成在线视频观看| 国产精品成人在线| 国模精品一区二区三区色天香| 欧美丝袜一区二区三区| 成人精品久久久| 一区二区三区视频免费在线观看| 国产日产欧美精品| 亚洲风情亚aⅴ在线发布| 九九热这里只有精品免费看| 色妞久久福利网| 欧美日韩黄色大片| 精品高清一区二区三区| 国产小视频国产精品| 日韩av一卡二卡| 欧美最猛性xxxxx免费| 久热国产精品视频| 欧美日韩午夜剧场| 中文字幕国产日韩| 久久av红桃一区二区小说| 国产精品成人av性教育| 亚洲人成电影在线观看天堂色| 国产97在线观看| 亚洲一区二区三区xxx视频| 亚洲欧美日韩精品| 97视频在线观看免费高清完整版在线观看| 欧美激情小视频| 亚洲精品成人av| 欧美黑人狂野猛交老妇| 成人激情av在线| 91成人在线播放| 久久久久在线观看| 国产成人精品久久二区二区91| 亚洲偷欧美偷国内偷| 国产欧美精品va在线观看| 亚洲天堂av在线播放| 久久99久久99精品免观看粉嫩| 91免费看片在线| 色偷偷av亚洲男人的天堂| 最新国产精品拍自在线播放| 色婷婷综合久久久久中文字幕1| 理论片在线不卡免费观看| 国产香蕉一区二区三区在线视频| 国产成人欧美在线观看| 久久欧美在线电影| 18一19gay欧美视频网站| 国产不卡av在线免费观看| 国产午夜精品免费一区二区三区| 欧美日韩免费在线观看| 色播久久人人爽人人爽人人片视av| 精品国产自在精品国产浪潮| 在线播放国产一区二区三区| 精品久久久久久久久久ntr影视| 欧美理论电影在线播放| 日韩高清电影免费观看完整版| 欧美大肥婆大肥bbbbb| 亚洲国产精彩中文乱码av在线播放| 日韩视频精品在线| 亚洲国产精品成人一区二区| 亚洲国产成人爱av在线播放| 久久精品99久久久久久久久| 久久久爽爽爽美女图片| 中文字幕亚洲欧美一区二区三区| 欧美性猛交99久久久久99按摩| 午夜精品福利在线观看| 青草热久免费精品视频| 日韩av影视在线| 久久视频在线播放| 91久久在线观看| 亚洲日本欧美中文幕| 国产视频丨精品|在线观看| 日韩av电影手机在线| 欧美亚洲国产视频| 精品国产福利在线| 亚洲free嫩bbb| 欧美亚洲成人免费| 欧美一区在线直播| 国产精品综合久久久| 久久精品视频导航| 欧美中文字幕在线| 亚洲精品中文字幕av| 日韩精品有码在线观看| 国产啪精品视频网站| 亚洲第五色综合网| 一区二区三区精品99久久| 亚洲**2019国产| 国产婷婷成人久久av免费高清| 黑人巨大精品欧美一区二区免费| 伦理中文字幕亚洲| 国产精品精品一区二区三区午夜版| 97激碰免费视频| 国产精品爽爽爽| 日韩成人xxxx| 亚洲xxxx做受欧美| 国产又爽又黄的激情精品视频| 亚洲国产又黄又爽女人高潮的| 91精品国产91久久久久久| 九九久久国产精品| 亚洲理论在线a中文字幕| 久久精品国亚洲| 亚洲第一级黄色片| 国产女人18毛片水18精品| 亚洲在线免费看| 久久精品99久久久香蕉| 欧美日韩国产精品一区二区不卡中文| 欧美激情视频一区二区三区不卡| 欧美中文在线免费| 日韩天堂在线视频| 一级做a爰片久久毛片美女图片| 欧美激情影音先锋|