老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

Java生產者/消費者問題實例詳解

生產者和消費者問題是線程模型中的經典問題:生產者和消費者在同一時間段內共用同一個存儲空間,如下圖所示,生產者向空間里存放數據,而消費者取用數據,如果不加以協調可能會出現以下情況:

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名與空間、網站空間、營銷軟件、網站建設、長樂網站維護、網站推廣。

存儲空間已滿,而生產者占用著它,消費者等著生產者讓出空間從而去除產品,生產者等著消費者消費產品,從而向空間中添加產品。互相等待,從而發生死鎖。

Java 生產者/消費者問題實例詳解

以下實例演示了如何通過線程解決生產者/消費者問題:

/*
 author by w3cschool.cc
 ProducerConsumerTest.java
 */
public class ProducerConsumerTest {
  public static void main(String[] args) {
   CubbyHole c = new CubbyHole();
   Producer p1 = new Producer(c, 1);
   Consumer c1 = new Consumer(c, 1);
   p1.start(); 
   c1.start();
  }
}
class CubbyHole {
  private int contents;
  private boolean available = false;
  public synchronized int get() {
   while (available == false) {
     try {
      wait();
     }
     catch (InterruptedException e) {
     }
   }
   available = false;
   notifyAll();
   return contents;
  }
  public synchronized void put(int value) {
   while (available == true) {
     try {
      wait();
     }
     catch (InterruptedException e) { 
     } 
   }
   contents = value;
   available = true;
   notifyAll();
  }
}
class Consumer extends Thread {
  private CubbyHole cubbyhole;
  private int number;
  public Consumer(CubbyHole c, int number) {
   cubbyhole = c;
   this.number = number;
  }
  public void run() {
   int value = 0;
     for (int i = 0; i < 10; i++) {
      value = cubbyhole.get();
      System.out.println("消費者 #" + this.number+ " got: " + value);
     }
  }
}
class Producer extends Thread {
  private CubbyHole cubbyhole;
  private int number;
  public Producer(CubbyHole c, int number) {
   cubbyhole = c;
   this.number = number;
  }
  public void run() {
   for (int i = 0; i < 10; i++) {
     cubbyhole.put(i);
     System.out.println("生產者 #" + this.number + " put: " + i);
     try {
      sleep((int)(Math.random() * 100));
     } catch (InterruptedException e) { }
   }
  }
}

以上代碼運行輸出結果為:

消費者 #1 got: 0
生產者 #1 put: 0
生產者 #1 put: 1
消費者 #1 got: 1
生產者 #1 put: 2
消費者 #1 got: 2
生產者 #1 put: 3
消費者 #1 got: 3
生產者 #1 put: 4
消費者 #1 got: 4
生產者 #1 put: 5
消費者 #1 got: 5
生產者 #1 put: 6
消費者 #1 got: 6
生產者 #1 put: 7
消費者 #1 got: 7
生產者 #1 put: 8
消費者 #1 got: 8
生產者 #1 put: 9
消費者 #1 got: 9

希望本篇文章對您有所幫助


網站欄目:Java生產者/消費者問題實例詳解
分享網址:http://www.xueling.net.cn/article/psehii.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 热久久中文字幕 | 午夜免费无码福利视频 | 欧美肥老太牲交大战 | 亚洲国产成人高清精品 | 天堂成人影院 | 丰满少妇高潮久久三区 | 一级毛片不卡顿 | 九一国产精品 | 欧美日韩亚洲色图 | 成人综合网站 | 亚洲熟女乱色综合亚洲小说 | 快猫成人在线观看 | 欧美一及黄色片 | 天天做天天爱夜夜爽少妇 | 激情信封 | 欧美一级一级 | 精品熟女日韩中文十区 | 国产成人8x人网站 | 伊人大香线蕉影院 | 精品久久久久一区二区国产 | 36d美女被视频在线观看 | 麻豆av高清 | 亚洲国产成人精品无码专区 | 深夜A级毛片免费视频 | 亚洲午夜久久久久 | 色999国产| 五月精品夜夜春夜夜爽久久 | 麻豆一二三四区乱码 | 男人操女人的视频网站 | 不卡视频一区二区 | 欧美—级在线免费片 | 14表妺好紧没带套在线播放 | 国产做爰xxxⅹ久久久精华液 | 成人性生交片无码免费看 | 午夜成人爽爽爽视频在线观看 | 日韩第一区第二区 | 亚洲九九爱 | 国产精品高潮呻吟久久a | 婷婷色婷婷开心五月四房播播 | 一区二区三区视频在线免费观看 | 久久精品3|