wait()/notify()

Revised: Jan./27th/2003; Since: Apr./21th/2002

Object $B%/%i%9$N%9%l%C%I%a%=%C%I(B

$BF14|;XDj$7$?%3!<%I$r;}$D%*%V%8%'%/%H$O!":GBg0l$D$N%9%l%C%I$K$h$C$F(B$B%m%C%/(B$B$,$B%b%K%?!<(B$B!K$N$b$N$,;H$o$l$^$9!#0JA0$K>R2p$7$^$7$?$,!"%m%C%/<+BN$OA4$F$N%*%V%8%'%/%H$,;}$C$F$$$k$b$N$G$9!#(B

$BObject $B%/%i%9$GDj5A$5$l$F$$$^$9$N$G!"G$0U$N%/%i%9$GMxMQ$9$k$3$H$,=PMh$^$9!#$3$N%*%V%8%'%/%H$N%m%C%/$ruBV$KLa$7$?$j$G$-$^$9!#(B

$B$7$?$,$C$F!"%b%K%?!<$N!"F14|;XDj$5$l$?%3!<%IFb$G;H$o$l$^$9!#(B

wait()

public final void wait() throws InterruptedException
public final void wait(long timeout) throws InterruptedException
public final void wait(long timeout, int nanos) throws InterruptedException

$BB>$N%9%l%C%I$,$3$N%*%V%8%'%/%H$N(B notify() $B%a%=%C%I$^$?$O(B notifyAll() $B%a%=%C%I$r8F$S=P$9$^$G!"$3$N%*%V%8%'%/%H$N%m%C%/$r

$B0z?t$G%?%$%`%"%&%H;~4V$r@_Dj$G$-$^$9!#0z?t$r#1$D$H$k>l9g$O!";XDj$7$??t;z$O%_%jIC!J#1#0$N(B-3$B>hIC!KC10L$G2rl9g$O!"Fs$DL\$N?t;z$,%J%NIC4V!J#1#0$N(B-9$B>hIC4V!"#1#0$N(B-6$B>h%_%jIC4V!K$H2r

// $B:GBg(B 200*10^6 + 10 $B%J%NICBT5!(B
wait(200, 10);

notify() $B$,8F$P$l$k$+!"%a%=%C%I0z?t$N%?%$%`%"%&%H;~4V$,7P2a$9$k$+$9$k$H!"B>$N%9%l%C%I$HF1$8$h$&$K!"%m%C%/$NC5:w>uBV$KF~$j!"(B JavaVM $B$N%9%1%8%e!<%i$K:F$S%m%C%/$rM?$($i$l$F$+$i

sleep() $B$N>l9g$O;XDj$7$?;~4V8e$KuBV$KLa$7!"c$O$"$j$^$;$s$G$7$?!#(Bwait() $B$N>l9g$bF1MM$G!"%J%NICC10L$G:GBgBT5!;~4V$r;XDj$7$F$b

notify()

public final void notify()

wait() $B%a%=%C%I$K$h$C$FBT5!Cf$N%9%l%C%I$r(B 1 $B$D:F3+$7$^$9!#8@$$49$($k$H!"Ev3:%*%V%8%'%/%H$NBT5!%W!<%kFb$NG$0U$N0l$D$N%9%l%C%I$r:F3+$7$^$9!#(B

notifyAll()

public final void notifyAll()

wait() $B%a%=%C%I$K$h$C$FBT5!Cf$N%9%l%C%I$r$9$Y$F:F3+$7$^$9!#8@$$49$($k$H!"Ev3:%*%V%8%'%/%H$NBT5!%W!<%kFb$N$9$Y$F$N%9%l%C%I$r:F3+$7$^$9!#(B

$B

$B;H$$J}$O(B$B$B$N%5%s%W%k$r;2>H$/$@$5$$!#(B

$B$3$l$i$N%a%=%C%I$O!"F14|;XDj$5$l$?%3!<%I$r;}$D%*%V%8%'%/%H$N%m%C%/$rMxMQ$7$^$9!#F14|;XDj$5$l$?%3!<%I$r;}$D%*%V%8%'%/%H$N$3$H$r%b%K%?!<$H8F$S$^$9!#(B

wait() $B%a%=%C%I$O!"%b%K%?!<$KBP$7$F8F$P$l!"$=$N%b%K%?!<$N%m%C%/$r

notify() $B%a%=%C%I$O!"%b%K%?!<$KBP$7$F8F$P$l!"$=$N%b%K%?!<$NBT5!%W!<%kFb$NG$0U$N0l$D$N%9%l%C%I$r:F$S%m%C%/C5:w>uBV$KLa$7$^$9!#$I$N%9%l%C%I$,:F3+$9$k$+!"$$$D%m%C%/$r

notifyAll() $B%a%=%C%I$O!"%b%K%?!<$KBP$7$F8F$P$l!"$=$N%b%K%?!<$NBT5!%W!<%kFb$N$9$Y$F$N%9%l%C%I$r%m%C%/C5:w>uBV$KLa$7$^$9!#$$$D%m%C%/$r

// $BF14|;XDj$5$l$?6&M-%*%V%8%'%/%H%/%i%9!J%b%K%?!synchronized String read() {
		// $BFI$_9~$_$N0Y$K$3$N%b%K%?!<$N%m%C%/$rwait();
		} catch (InterruptedException e) {
			System.out.println(e);
		}
		// $BFI$_9~$_(B
		return msg;
	}
	
	public synchronized void write(String str) {
		// $B=q$-9~$_(B
		msg = str;
		// $B=q$-9~$_8e$K$3$N%b%K%?!<$NBT5!%W!<%kFb$N%9%l%C%I$r%m%C%/C5:w>uBV$K$9$k(B
		notifyAll();
	}
}

$B$3$N%/%i%9$r%$%s%9%?%s%92=$7$?%*%V%8%'%/%H$O!"F;6q$H$7$FB>$N%*%V%8%'%/%H$+$i8F$P$l$F;H$o$l$^$9!#$3$N%*%V%8%'%/%H$N(B read() $B%a%=%C%I$r8F$S=P$7$F;H$&%9%l%C%I$O!"(B wait() $B%a%=%C%I$K$h$C$FLdEzL5MQ$G$3$N%*%V%8%'%/%H$N%m%C%/$rJ|4~$5$;$i$l$FBT5!%W!<%k$KF~$l$i$l$^$9!#B3$$$F!"B>$N%9%l%C%I$,$3$N%*%V%8%'%/%H$N%m%C%/$rwrite() $B%a%=%C%I$r8F$S=P$9$H!"%a%=%C%InotifyAll() $B$,uBV$KI|5"$7$^$9!#(B

wait(), notify() $B$O(B Share $B%*%V%8%'%/%H$K5-=R$7$F$"$j$^$9$,!"BT5!!?I|5"$N1F6A$r



Copyright © 2002 SUGAI, Manabu. All Rights Reserved.
SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送