国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - JAVA教程 - 淺談線程通信wait,notify作用

淺談線程通信wait,notify作用

2021-03-11 14:19樂小小98 JAVA教程

這篇文章主要介紹了淺談線程通信wait,notify作用,具有一定借鑒價值,需要的朋友可以參考下

線程通信的目的是為了能夠讓線程之間相互發送信號。另外,線程通信還能夠使得線程等待其它線程的信號,比如,線程B可以等待線程A的信號,這個信號可以是線程A已經處理完成的信號

Wait()方法

-中斷方法的執行,使本線程等待,暫時讓出cpu的使用權,并允許其他線程使用這個同步方法

Notify()方法

-喚醒由于使用這個同步方而處于等待線程的某一個結束等待

Notifyall()方法

喚醒所有由于使用這個同步方法而處于等待的線程結束等待

什么時候使用wait方法

當一個線程使用的同步方法中用到某個變量,而此變量又需要其他線程修改才能符合本線程的需要,那么可以在同步方法中使用wait()方法

在這里我以課上的一個例子為例,簡述一下wait和notify的作用

我們已經知道開啟多線程中,如賣票,每個窗口賣的票的順序是隨機的,如果我們有2個賣票窗口,規定100張票必須輪流賣,A窗口賣完一張票之后下一張票一定是由B窗口賣的,我們如何實現這個功能?

首先我想的是可以設置一個if語句,if(i%2==0)則線程1運行,否則則線程2運行,但是線程1和線程2的運行是隨機的,不能規定由i的大小來確定誰運行

那我們可以用線程中的wait()和notify()

線程1運行完之后等待一下,然后線程2運行,線程2運行完之后再喚醒線程1然后再次

線程1運行完之后等待一下,然后線程2運行,線程2運行完之后再喚醒線程1

這樣的話可以輪流運行線程1和線程2

我們已打印10個數為例子來編寫程序,一共建2個類Myprint和MyprintTest

Myprint.java

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public class Myprint implements Runnable {
private int i=0;
@Override
public void run() {
    try {
        print();
    }
    catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}
public synchronized void  print() throws InterruptedException{
    while(i<10){
        System.out.println(Thread.currentThread().getName()+":"+i);
        i++;
        notify();
        try {
            wait();
        }
        catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}
}

結果如圖

淺談線程通信wait,notify作用

可以看到已經實現了線程1和線程2相互交替打印

只需理解運行過程即可

?
1
2
3
4
5
6
7
8
9
10
11
12
13
while(i<10){
    System.out.println(Thread.currentThread().getName()+":"+i);
    i++;
    notify();
    try {
        wait();
    }
    catch (InterruptedException e) {
        e.printStackTrace();
    }
}
}
}

當i<10時,打印線程1,然后執行喚醒,由于前面沒有線程所以這一步不執行,然后線程1等待,執行完線程2喚醒前面的線程即線程1,然后打印線程1,

這個過程一直執行下去直到跳出循環,所以我們可以實現輪流運行

總結

以上就是本文關于淺談線程通信wait,notify作用的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

原文鏈接:http://blog.csdn.net/yutong5818/article/details/78426599

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 国产欧美日韩 | 成人av一区二区三区 | 亚洲人成在线播放 | 国产精品一二三区视频出来一 | 国产成人精品综合 | 黄色国产一级片 | 亚洲一区二区三区在线 | 亚洲国产中文字幕在线观看 | 久久久国产视频 | 日韩一区二区三区在线视频 | 日b片| 三级黄色片在线免费观看 | 九九精品视频观看 | 欧美福利视频 | 久久久久综合视频 | 免费一级毛片 | 国产在线1 | 欧美一区二区三 | 精品91久久 | 欧美日韩中文在线观看 | 午夜影院网站 | 国产一区二区三区午夜 | h视频在线免费观看 | 国产黄色一级录像 | 亚洲成av人影片在线观看 | 亚洲欧美日韩国产综合 | 成人欧美一区二区三区在线播放 | 日本三级网址 | 成人a视频片观看免费 | 日韩精品一区二区三区 | 午夜爽视频 | 日韩三级 | 国内激情自拍 | 欧美日韩免费 | 福利久久| 久色视频在线 | 亚洲骚片 | 永久免费av | 草久在线观看 | 成人午夜免费视频 | jizz中国zz女人18高潮 |