SCJP 1.6版考題 218

出自 陳富國維基館
前往: 導覽搜尋

SCJP218-1 2.png




解答


Ans:
SCJP218-2.png

解說:

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