亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? conditiontest.java

?? javajdk實例開發寶典全部源代碼夏先波第二版
?? JAVA
字號:
package book.j2se5.thread;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.locks.Condition;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;

/**
 * 有時候線程取得lock后需要在一定條件下才能做某些工作,比如說經典的Producer和Consumer問題。
 * 在Java 5.0以前,這種功能是由Object類的wait(), notify()和notifyAll()等方法實現的,
 * 在5.0里面,這些功能集中到了Condition這個接口來實現。
 */
public class ConditionTest {

	/**
	 * 籃子程序,這里為了簡化問題,籃子中最多只能有一個蘋果。
	 * Consumer必須在籃子里有蘋果的時候才能吃蘋果,否則它必須暫時放棄對籃子的鎖定,
	 * 等到Producer往籃子里放了蘋果后再去拿來吃。而Producer必須等到籃子空了才能往里放蘋果,
	 * 否則它也需要暫時解鎖等Consumer把蘋果吃了才能往籃子里放蘋果。
	 */
	public static class Basket {
		// 鎖
		Lock lock = new ReentrantLock();
		//	根據鎖產生Condition對象
		Condition produced = lock.newCondition();
		Condition consumed = lock.newCondition();
		// 籃子中的蘋果數,最多為1
		int num = 0;

		/**
		 * 生產蘋果,往籃子里放
		 * @throws InterruptedException
		 */
		public void produce() throws InterruptedException {
			// 獲得鎖
			lock.lock();
			System.out.println("Producer get a lock...");
			try {
				// 判斷是否滿足生產條件
				while (num == 1) {
					// 如果有蘋果,則不生產,放棄鎖,進入睡眠
					// 等待消費者消費
					System.out.println("Producer sleep...");
					consumed.await(); 
					System.out.println("Producer awaked...");
				}
				/*生產蘋果*/
				Thread.sleep(500);
				System.out.println("Producer produced an Apple.");
				num = 1;
				// 通知等待produced Condition的線程
				produced.signal();
			} finally {
				lock.unlock();
			}
		}
		/**
		 * 消費蘋果,從籃子中取
		 * @throws InterruptedException
		 */
		public void consume() throws InterruptedException {
			// 獲得鎖
			lock.lock();
			System.out.println("Consumer get a lock...");
			try {
				// 判斷是否滿足消費條件
				while (num == 0) {
					// 如果沒有蘋果,無法消費,則放棄鎖,進入睡眠
					// 等待生產者生產蘋果
					System.out.println("Consumer sleep...");
					produced.await();  
					System.out.println("Consumer awaked...");
				}
				/*吃蘋果*/
				Thread.sleep(500);
				System.out.println("Consumer consumed an Apple.");
				num = 0;
				// 發信號喚醒某個等待consumed Condition的線程
				consumed.signal();
			} finally {
				lock.unlock();
			}
		}
	}
	/**
	 * 測試Basket程序
	 */
	public static void testBasket() throws Exception {
		final Basket basket = new Basket();
		//	定義一個producer
		Runnable producer = new Runnable() {
			public void run() {
				try {
					basket.produce();
				} catch (InterruptedException ex) {
					ex.printStackTrace();
				}
			}
		};

		// 定義一個consumer
		Runnable consumer = new Runnable() {
			public void run() {
				try {
					basket.consume();
				} catch (InterruptedException ex) {
					ex.printStackTrace();
				}
			}
		};

		//	各產生3個consumer和producer
		ExecutorService service = Executors.newCachedThreadPool();
		for (int i = 0; i < 3; i++){
			service.submit(producer);
		}
		for (int i = 0; i < 3; i++){
			service.submit(consumer);
		}
		service.shutdown();
	}      

	public static void main(String[] args) throws Exception {
		ConditionTest.testBasket();
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
老司机精品视频一区二区三区| 国产91丝袜在线播放0| 日产欧产美韩系列久久99| 韩国女主播成人在线| 91视频一区二区| 久久午夜色播影院免费高清| 亚洲高清视频的网址| 国产成人免费av在线| 91精品国产欧美一区二区成人| 国产精品亲子伦对白| 久久国产精品区| 欧美久久久久免费| 亚洲私人黄色宅男| 国产精品一区二区久久精品爱涩| 欧美日韩一级二级| 亚洲三级在线播放| 国产成人亚洲综合a∨猫咪| 91精品福利在线一区二区三区 | 久久精品视频免费| 日韩av电影免费观看高清完整版| 在线观看一区二区视频| 亚洲欧洲韩国日本视频| 大陆成人av片| 国产欧美精品在线观看| 国模一区二区三区白浆| 日韩欧美国产综合在线一区二区三区| 亚洲精品伦理在线| 9人人澡人人爽人人精品| 国产免费久久精品| 国产一区二区毛片| 久久老女人爱爱| 国产精品一区二区在线看| 久久夜色精品一区| 狠狠色狠狠色综合| 久久久精品黄色| 国产成人丝袜美腿| 国产精品色噜噜| 成人视屏免费看| 中文字幕在线不卡视频| www.色精品| 亚洲欧洲综合另类| 欧美日韩在线播放一区| 午夜精品一区在线观看| 在线电影欧美成精品| 经典三级在线一区| 久久麻豆一区二区| jlzzjlzz欧美大全| 一区二区三区精品视频| 欧美美女一区二区在线观看| 日产国产欧美视频一区精品| 久久九九久精品国产免费直播| 国产精品乡下勾搭老头1| 国产精品妹子av| 在线观看免费视频综合| 亚洲一区自拍偷拍| 欧美三级午夜理伦三级中视频| 日韩综合一区二区| 精品国产乱码久久久久久蜜臀 | 欧美在线观看视频在线| 亚洲电影一区二区| 日韩一区二区三区四区| 国产美女娇喘av呻吟久久| 国产精品久久久久影视| 欧美视频一区二区三区| 久久精品99国产国产精| 国产欧美日本一区视频| 欧美日韩小视频| 国产毛片一区二区| 亚洲在线成人精品| 久久老女人爱爱| 色婷婷av久久久久久久| 蜜臀av性久久久久av蜜臀妖精| 欧美国产日韩精品免费观看| 欧美日韩在线观看一区二区 | 亚洲国产精品黑人久久久| 色偷偷久久一区二区三区| 免费xxxx性欧美18vr| 亚洲国产成人在线| 欧美精品久久一区二区三区| 成人免费视频国产在线观看| 日本不卡一区二区| 国产精品久久久久一区二区三区| 欧美精品久久久久久久多人混战| 懂色中文一区二区在线播放| 麻豆精品一区二区三区| 亚洲一区中文在线| 国产日韩欧美精品一区| 7777女厕盗摄久久久| 一本一道综合狠狠老| 国内外成人在线| 婷婷中文字幕综合| 国产精品免费久久久久| 日韩欧美黄色影院| 欧美日韩在线不卡| 色综合天天做天天爱| 国产成人免费视频网站 | 午夜精品福利在线| 中文字幕高清一区| 欧美一级精品在线| 欧美日韩中文字幕精品| 91麻豆国产香蕉久久精品| 成人黄色小视频| 成人精品免费网站| 国产精品1区2区3区在线观看| 日本sm残虐另类| 午夜精品久久一牛影视| 艳妇臀荡乳欲伦亚洲一区| 国产精品久久久久久久裸模| 久久久www免费人成精品| 精品区一区二区| 日韩一区二区三区三四区视频在线观看| 在线观看亚洲a| 欧美日韩视频专区在线播放| 欧美偷拍一区二区| 欧美在线观看18| 欧美在线色视频| 欧美日韩精品福利| 欧美老人xxxx18| 717成人午夜免费福利电影| 91麻豆精品国产91久久久更新时间| 欧美日韩在线播| 91精品欧美综合在线观看最新| 7799精品视频| 久久影院电视剧免费观看| 国产欧美精品一区aⅴ影院| 国产欧美一区二区三区在线老狼| 国产午夜久久久久| 国产精品美女久久久久久久久久久 | 亚洲女厕所小便bbb| 亚洲乱码国产乱码精品精小说| 亚洲免费在线观看| 亚洲资源在线观看| 日韩福利电影在线观看| 免费成人美女在线观看| 国产成人免费视频一区| 91视频免费观看| 欧美日韩国产欧美日美国产精品| 欧美妇女性影城| 久久婷婷色综合| 国产欧美一二三区| 亚洲乱码一区二区三区在线观看| 日韩精品五月天| 国产成人鲁色资源国产91色综 | 综合激情网...| 亚洲国产视频在线| 免费日韩伦理电影| 国产成人免费视| 欧美日韩国产一二三| 久久综合九色综合97_久久久| 国产亚洲欧美激情| 亚洲在线视频网站| 极品少妇xxxx精品少妇| 99这里只有精品| 欧美一卡二卡在线| 国产精品高潮呻吟| 视频精品一区二区| 粉嫩绯色av一区二区在线观看| 欧美日韩成人高清| 欧美激情一区二区三区蜜桃视频| 亚洲综合色成人| 成人免费视频网站在线观看| 欧美一级日韩不卡播放免费| 欧美高清一级片在线观看| 奇米777欧美一区二区| 成人精品亚洲人成在线| 欧美巨大另类极品videosbest| 中文字幕av一区 二区| 日本伊人午夜精品| 91蜜桃视频在线| 久久久久久日产精品| 视频一区欧美日韩| jlzzjlzz亚洲日本少妇| 久久久午夜精品理论片中文字幕| 亚洲第一福利视频在线| eeuss国产一区二区三区| 日韩美女天天操| 日韩av电影天堂| 欧美午夜在线一二页| 国产精品久久久久久久午夜片| 久久99蜜桃精品| 欧美精品三级在线观看| 亚洲与欧洲av电影| 91亚洲精品一区二区乱码| 久久久久久久久久久久电影| 蜜臀99久久精品久久久久久软件 | 一区二区激情小说| 高清不卡一二三区| 精品国产123| 麻豆传媒一区二区三区| 欧美日本一区二区三区四区| 夜夜嗨av一区二区三区网页| 色综合激情五月| 亚洲人成网站在线| 91蜜桃在线观看| 亚洲免费观看高清完整| 一本一道波多野结衣一区二区 | 日本一区二区三区国色天香| 久久99精品国产91久久来源| 日韩免费一区二区三区在线播放| 日韩 欧美一区二区三区|