SCJP 1.6版考題 218

出自 陳富國維基館
於 2013年3月29日 (五) 23:58 由 Ikk (對話 | 貢獻) 所做的修訂 (新頁面: 檔案:SCJP218-1 2.png <BR><BR> <div class="toccolours mw-collapsible mw-collapsed"> <span style="font-size:medium;">解答</span> ---- <div class="mw-collapsible-content"> <spa...)
(差異) ←上個修訂 | 最新修訂 (差異) | 下個修訂→ (差異)
前往: 導覽搜尋

SCJP218-1 2.png




解答


Ans:
SCJP218-2.png

解說:

這是生產者消費者行程的標準例子
首先produce與consume這二個方法要設成同步,以避免二個方法同時存取isReady。
produce生產完之後就以notifyAll方法通知所有在等待中的行程可以離開等待區(那些等待生產者行程生產所需資源的消費者行者)
消費者行者則是判斷isReady是false的情況(意思是生產區未準備好),則進入等待。當離開等待之後,消耗完資源後,將isReady設為false,下次再進  來時則進入等待。