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

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

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

服務器之家 - 編程語言 - Java教程 - Java通過wait()和notifyAll()方法實現線程間通信

Java通過wait()和notifyAll()方法實現線程間通信

2020-09-08 10:51FrankYou Java教程

這篇文章主要為大家詳細介紹了Java通過wait()和notifyAll()方法實現線程間通信的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Java實現線程通信的具體代碼,供大家參考,具體內容如下

Java代碼(使用了2個內部類):

?
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
package Threads;
 
import java.util.LinkedList;
 
/**
 * Created by Frank
 */
public class ProdCons {
 protected LinkedList<Object> list = new LinkedList<>();
 protected int max;
 protected boolean done = false;
 
 public static void main(String[] args) throws InterruptedException {
  ProdCons prodCons = new ProdCons(100, 3, 4);
  Thread.sleep(5 * 1000);
  synchronized (prodCons.list) {
   prodCons.done = true;
   try {
    prodCons.notifyAll();
   } catch (Exception ex) {
   }
  }
 }
 
 private ProdCons(int maxThreads, int nP, int nC) {
  this.max = maxThreads;
  for (int i = 0; i < nP; i++) {
   new Producer().start();
  }
  for (int i = 0; i < nC; i++) {
   new Consumer().start();
  }
 }
 
 class Producer extends Thread {
  public void run() {
   while (true) {
    Object justProduced = null;
    try {
     justProduced = getObj();
    } catch (InterruptedException e) {
     e.printStackTrace();
    }
    synchronized (list) {
     while (list.size() == max) {
      try {
       list.wait();
      } catch (InterruptedException e) {
       System.out.println("Producer INTERRUPTED");
      }
     }
     list.addFirst(justProduced);
     list.notifyAll();
     System.out.println("Produced 1;List size now " + list.size());
     if (done) {
      break;
     }
    }
   }
  }
 }
 
 class Consumer extends Thread {
  public void run() {
   while (true) {
    Object object = null;
    synchronized (list) {
     if (list.size() == 0) {
      try {
       list.wait();
      } catch (InterruptedException e) {
       System.out.println("Consumer INTERRUPTED");
      }
     }
     if (list.size() > 0) {
      object = list.removeLast();
     }
     list.notifyAll();
     System.out.println("List size now " + list.size());
     if (done) {
      break;
     }
    }
    if (null != object) {
     System.out.println("Consuming object " + object);
    }
   }
  }
 }
 
 private Object getObj() throws InterruptedException {
  Thread.sleep(1000);
  return new Object();
 }
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
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
主站蜘蛛池模板: 亚洲人成网站b2k3cm | 每日更新av | 一久久久 | 免费成人av在线 | 国产精品一区二区不卡 | 亚洲精品永久免费 | 在线视频不卡一区 | 成人国产精品免费观看 | 精品久久久久久久久久 | 久草在线资源福利站 | 中文字幕91 | 一本色道久久综合狠狠躁篇的优点 | 日韩精品免费视频 | 91精品啪aⅴ在线观看国产 | 黄色一级大片在线免费看产 | 国产人体视频 | 亚洲精品中文字幕在线观看 | 在线免费观看色视频 | 亚洲精品久久久久久久久久久久久 | 起碰在线视频 | 中文字幕一区二区三区日韩精品 | 日韩精品一区二区三区在线 | 欧美成人黄色小视频 | 日韩高清中文字幕 | 成人免费crm在线观看 | 午夜电影网址 | 国产 欧美 日韩一区 | 亚洲精品视频区 | 成人福利电影在线观看 | 国产精品高潮呻吟久久av野狼 | 岛国搬运工av在线播放 | 99热视 | 欧美三级电影在线播放 | 欧美日韩不卡 | 最新黄色网址在线播放 | 午夜视频在线看 | 亚洲国产一区二区在线观看 | 免费一区| 偷拍自拍第一页 | 综合久久久久 | 一级毛片免费看 |