Newsgroups: fj.os.misc,fj.comp.arch,fj.lang.misc
Path: galaxy.trc.rwcp.or.jp!coconuts.jaist!wnoc-tyo-news!aist-nara!ie.u-ryukyu.ac.jp!yas
From: yas@ocean.ie.u-ryukyu.ac.jp (Yasushi Shinjo)
Subject: Re: Questions from Architects to Programmers
Message-ID: <YAS.94Nov22194319@top.ie.u-ryukyu.ac.jp>
Lines: 111
Sender: news@spn.ie.u-ryukyu.ac.jp (News System Admin)
Organization: Dept. of Elect. & Info. Eng., Univ. of the Ryukyus, Okinawa,
	Japan
References: <ITOU.94Nov21210914@suez.mfd.cs.fujitsu.co.jp>
Date: Tue, 22 Nov 1994 10:43:19 GMT
Xref: galaxy.trc.rwcp.or.jp fj.os.misc:497 fj.comp.arch:545 fj.lang.misc:1272
X-originally-archived-at: http://galaxy.rwcp.or.jp/text/cgi-bin/newsarticle2?ng=fj.lang.misc&nb=1272&hd=a
X-reformat-date: Mon, 18 Oct 2004 15:18:22 +0900
X-reformat-comment: Tabs were expanded into 4 column tabstops by the Galaxy's archiver. See http://katsu.watanabe.name/ancientfj/galaxy-format.html for more info.

$B?7>k!wN05eBg3X>pJs9)3X$G$9!#$3$s$K$A$O!#(B
$B<B$O!"$b$H5-;v$,$^$@FO$$$F$$$J$$$N$G$9$,!"$A$g$C$H(B out of
order $B%U%)%m!<!#(B

From article <ITOU.94Nov21210914@suez.mfd.cs.fujitsu.co.jp>,
by itou@volga.mfd.cs.fujitsu.co.jp:
> $B0KF#!wK?%a!<%+$G$9!#(B
> $B#1!K3d$j9~$_%"%I%l%9$O8GDj$G$$$$$G$9$+!)3d$j9~$_%Y%/%H%k$b$$$j$^$;$s$+!)(B

$B$O$$!#2?$+$NJ}K!$G6hJL$,$D$1$P!"3d$j9~$_HVCO8GDj$G!"3d$j9~$_(B
$B%Y%/%H%k$J$7$G$$$$$G$9!#(B

> $B#2!K;;=Q1i;;Nc30$O87L)3d$j9~$_$K$7$J$/$F$$$$$G$9$+!)(B
> $B;;=Q1i;;Nc30!a%W%m%0(B
> $B%i%`%(%i!<!":F<B9T$O$7$J$$!"$H$$$$$-$C$A$c$C$F$$$$$N$G$7$g$&$+!)(B

$B87L)3d$j9~$_$H!"87L)$G$J$$3d$j9~$_$N0c$$$O!"4JC1$K!J(BReturn
from Exception $BL?Na$H$+$G!K:F<B9T$G$-$k$+$G$-$J$$$+$N0c$$$G(B
$B$9$+!)(B

$B$I$s$J3d$j9~$_$G$b!"$b$H$KLa$l$J$$$H$$$1$J$$$o$1$G$9$h$M!#(B
$B%A%C%W$N%^%K%e%"%k$K3d$j9~$_2sI|%k!<%A%s$N%U%m%C%T$,IU$$$F$$(B
$B$l$P#O#K$G$9!#%"%;%s%V%i$G!"%^%/%mE83+$G$b$$$$$G$9!#(B

$BOC$O40A4$K$=$l$^$9!#$3$s$JOC$rJ9$$$?$3$H$,$"$j$^$9!#$`$+$7$`(B
$B$+$7!"%a%$%s%U%l!<%`$N%P%C%A$N%W%m%0%i%`$,Av$C$F$$$F!"%W%j%s(B
$B%?$K(B overflow, overflow $B$H:]8B$J$/=PNO$7$F$$$k%W%m%0%i%`$,$"(B
$B$j$^$7$?!#%*%Z%l!<%?$O!"!V$3$N%W%m%0%i%`$O!"$@$a$@!#$3$l0J>e!"(B
$B#C#P#U;~4V$G2]6b$5$l$k$N$O$+$o$$$=$&$@!#$h$7!";_$a$F$"$2$h$&!#!W(B
$B$H!";W$C$F!"$=$N%W%m%0%i%`$r;_$a$^$7$?!#(B

$B8e$G!"$=$N%W%m%0%i%`$rN.$7$??M$,%+%s%+%s$KE\$C$F%*%Z%l!<%?$N(B
$B=j$K$d$C$F$-$^$7$?!#!V$J$s$F$3$H$r$7$F$/$l$?$s$@!"$"$N%W%m%0(B
$B%i%`$O$b$&>/$7$G=*$o$k$H$3$m$@$C$?!#(Boverflow $B$,5/$-$k$3$H$r(B
$BA[Dj$7$F!"$=$l$G$bEz$($,=P$k$h$&$J%W%m%0%i%`$K$J$C$F$$$?$s$@!#(B
$B;d$N#C#P#U;~4V$r$I$&$7$F$/$l$k!#!W(B

return from $BC&@~!#(B

> $B#3!K%&%#!<%/%j!&%*!<%@!J%Q!<%7%c%k!&%*!<%@!K$N%a%b%j!&%b%G%k$G$A$c$s$H(B
>    $B%^%k%A%9%l%C%I$N%W%m%0%i%`=q$1$^$9$+!)(B

$B$3$l$O!"IaDL$N(B store $BL?Na!"(Bload $BL?Na$G!"=gHV$,J]>Z$5$l$J$/$J(B
$B$k$H$$$&$3$H$G$7$g$&$+!#$=$l$J$i!"$^$"Bg>fIW$H$$$($PBg>fIW$G(B
$B$9!#(B

$B:#$^$G!"$3$s$J%W%m%0%i%`$G4JC1$JF14|$r<h$C$F$$$^$7$?!#(B
------------------------------------------------------------
int done ;
int result ;
thread1()
{
done = 0 ;
thread_create( thread2 );
while( !done )
    continue;
use( result );
}

thread2()
{
result = do_something();
done = 1 ;
}
------------------------------------------------------------
$B!V%&%#!<%/%j!&%*!<%@$N%a%b%j!W$@$H!"$3$N%W%m%0%i%`$r6&M-%a%b(B
$B%j7?%^%k%A%W%m%;%C%5$GF0$+$9$H!"(Bthread2 $B$N(B done = 1 $B$N(B store 
$BL?Na$,(B thread1$B!!$N(B done = 0 $B$N(B store $BL?Na$h$j@h$K<B9T$5$l$k(B
$B2DG=@-$,$"$k!"$H$$$&$3$H$G$7$g$&$+!#(B

$B$=$l$J$i!"$=$s$JIaDL$N%a%b%j$GF14|$r$H$m$&$J$s$FIOK3@-$r$d$a(B
$B$F!"$-$A$s$HF14|$N%W%j%_%F%#%V$r8F$Y$P$$$$$o$1$G$9$h$M!#(B
------------------------------------------------------------

semaphore_t done ;
int result ;
thread3()
{
semaphore_init( &done );
thread_create( thread4 );
v( &done );
use( result );
}

thread4()
{
result = do_something();
p( &done );
}
------------------------------------------------------------
$B$3$s$J46$8!#(Bp(), pv() $B$O!"$b$A$m$sF0$/$h$&$K:n$C$F$"$k$o$1$G(B
$B$9!#(Bp() $B$N=j$G!"(Bresult $B$K$D$$$F$b!"%-%c%C%7%e$d%i%$%H!&%P%C(B
$B%U%!$N%U%i%C%7%e$r$9$k$o$1$G$9!#(B
$B!J%A%C%W$H$$$C$7$g$K!"(Bp(), v() $B$N:n$jJ}$b$h$m$7$/!#!K(B

> $B$H$j$"$($:F|:"5$$K$J$C$F$?$N$O$3$s$J$H$3$G$9$+$M!#$[$s$H!"C1$J$k46?(DxEY(B
> $B!J!V%&%#!<%/%j!&%*!<%@$J$s$FJ9$$$?$3$H$J$$!W$H$+!K$G$1$C$3$&$G$9$+$i!"(B
> $B$446A[$r$*J9$+$;2<$5$$!#(B

$B>e$N2r<a$O!"$"$C$F$^$9$+!)(B

> $B!t$G$b!"!V$3$l$G$$$$$h!W$C$F$s$J$i4n$s$G$d$C$A$c$$$^$9!#(B

$BMW$O#O#S20$O!"(B
$B%O!<%I%&%'%"!a!a<+J,$G<j$r=P$;$J$$=j(B
$B!!!!!!!!!!!!!a!a<j$r=P$5$J$/$F$b$$$$$H$3$m(B
$B$H;W$C$F$$$k$N$G$9!#%A%C%W$H$$$C$7$g$K$J$K$+%5%]!<%H!&%k!<%A(B
$B%s$,M?$($i$l$?$i$=$l$G$$$$$G$9!#(B

$B!@!@!!?7>k!!Lw!!!J$7$s$8$g$&!!$d$9$7!K!!!@!@(B
$B!@!@!!N05eBg3X!!>pJs9)3X!!!!!!!!!!!!!!!!!@!@(B
