From owner-java@jp.FreeBSD.org Fri Jul 19 00:39:21 2002
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) id g6IFdLx36429;
	Fri, 19 Jul 2002 00:39:21 +0900 (JST)
	(envelope-from owner-java@jp.FreeBSD.org)
Received: from mx1.aist.go.jp (mx1.aist.go.jp [150.29.246.133])
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) with ESMTP/inet id g6IFdKn36422
	for <java@jp.FreeBSD.org>; Fri, 19 Jul 2002 00:39:21 +0900 (JST)
	(envelope-from shudo@computer.org)
Received: from rpsmtp1.aist.go.jp
	by mx1.aist.go.jp  with ESMTP id g6IFdKL12578
	for <java@jp.FreeBSD.org>; Fri, 19 Jul 2002 00:39:20 +0900 (JST)
	env-from (shudo@computer.org)
Received: from mail06.aist.go.jp
        by rpsmtp1.aist.go.jp  with ESMTP id g6IFdJR26863
        for <java@jp.FreeBSD.org>; Fri, 19 Jul 2002 00:39:19 +0900 (JST)
        env-from (shudo@computer.org)
Received: from aist.go.jp
        by mail06.aist.go.jp  with ESMTP id g6IFdIx21918
        for <java@jp.FreeBSD.org>; Fri, 19 Jul 2002 00:39:18 +0900 (JST)
        env-from (shudo@computer.org)
Date: Fri, 19 Jul 2002 00:39:38 +0900 (JST)
Message-Id: <20020719.003938.511705084.shudoh@localhost>
To: java@jp.FreeBSD.org
From: shudo@computer.org
In-Reply-To: <sqbptxl5atc.wl@nue.mac.com>
References: <sqbptxl5atc.wl@nue.mac.com>
X-Mailer: Mew version 2.2 on XEmacs 21.4.8 (Honest Recruiter)
Mime-Version: 1.0
Content-Type: Multipart/Mixed;
 boundary="--Next_Part(Fri_Jul_19_00:39:38_2002_092)--"
Content-Transfer-Encoding: 7bit
Reply-To: java@jp.FreeBSD.org
Precedence: list
X-Sequence: java 124
Subject: [java 124] Re: Java Memory Model
Errors-To: owner-java@jp.FreeBSD.org
Sender: owner-java@jp.FreeBSD.org
X-Originator: shudo@computer.org
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+020717

----Next_Part(Fri_Jul_19_00:39:38_2002_092)--
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit

FreeBSD $B$J$i$G$O$NOC$G$O$J$/$F62=L$G$9$,!D(B

> $B@h!9=5$"$?$j$3$N%;%/%7%g%s$,$"$k$N$K=i$a$F5$$,IU$$$F(B
> http://java.sun.com/docs/books/jls/second_edition/html/memory.doc.html#28325
>  | 17.6 Rules about the Interaction of Locks and Variables
>  |    Let T be any thread, let V be any variable, and let L be any lock.
>  |    There are certain constraints on the actions performed by T with
>  |    respect to V and L:
>  |      * ... (Less formally: if a thread is to
>  |        perform an unlock action on any lock, it must first copy all
>  |        assigned values in its working memory back out to main memory.)
>  |      * ...(Less formally: a lock action acts as if it flushes
>  |        all variables from the thread's working memory; before use they
>  |        must be assigned or loaded from main memory.)
>
> $B$*$b$7$m$$$J$H;W$C$?$N$G$9$,(B

$B$I$N$h$&$K$*$b$7$m$$$H46$8$i$l$?$N$G$7$g$&!#(B
($BNc$($P!"8@8l;EMM$,%9%l%C%I$H%a%b%j$N%$%s%?%i%/%7%g%s$^$G(B
 $B:Y$+$/5,Dj$7$F$$$k$H$$$&E@!"$H$+!#(B)

17$B>O!V(BThreads and Locks$B!W$O!"$^$8$a$KFI$`$H$1$C$3$&Hh$l$^$9!#(B
$B$J$K$;!"=q$-9~$_$r;X$9MQ8l$@$1$G!"(Bassign, store, write $B$,(B
$B;H$$J,$1$i$l$F$$$F!"FI$_9~$_$G$O(B use, load, read $B$,;H$$J,$1$i$l$F$$$^$9!#(B
$B0JA0$K$3$NJU$j$r@0M}$7$FIA$$$??^$rE:IU$7$^$9!#(B
(jmm_thread_and_memory.gif)

> $B$3$l$K4XO"$7$F!JJY6/$,$F$i!K(B
> $B$[$+$KFI$s$G$*$/$HLLGr$=$&$J$b$N$H$$$&$N$O$J$K$+$*$9$9(B
> $B$a$"$j$^$9$G$7$g$&$+!)(B

$BLLGr$$$+$O$o$+$i$J$$$G$9$,!"(BJava Memory Model $B$K$D$$$F$O(B
Doug Lea $B$,5DO@$r%j!<%I$7$F$-$?7P0^$,$"$j!"(B
$BH`$NK\(B ($B$d%&%'%V%Z!<%8$J$I$NJ8=q(B) $B$,M-L>$G$9!#(B
($B$H$$$&;d$O!"$A$i$C$HN)$AFI$_$7$?$@$1$J$s$G$9$,(B...)

 - Concurrent Programming in Java(TM): Design Principles and Pattern
   (2nd Edition)
   Doug Lea ($BCx(B)

   http://www.amazon.co.jp/exec/obidos/ASIN/0201310090/ref=sr_aps_eb_/249-1713319-1465967

 - Java$B%9%l%C%I%W%m%0%i%_%s%0!=JBNs%*%V%8%'%/%H;X8~%W%m%0%i%_%s%0$N@_7W86M}(B
   Doug Lea ($B86Cx(B), $B>>Ln(B $BNIB"(B ($BK]Lu(B)

   http://www.amazon.co.jp/exec/obidos/ASIN/4881359185/ref=sr_aps_b_4/249-1713319-1465967

> (eg., $B0l8+(B SMP $B%^%7%s$@$H4X78$J$5$=$&$K$b;W$($k$N$G$9$1$I!"(B
> $B$=$l$O%^%A%,%$!)(B)

$B4X78$*$*$"$j$G$9!#(B
$BE:IU$7$??^Cf$N!V(BWorking Memory$B!W$O!"(BSMP $B$G$O!"(B
$B%W%m%;%C%5$K%m!<%+%k$J%a%b%j$d%-%c%C%7%e$K3:Ev$7$^$9(B ($B$H;W$C$F$$$^$9(B)$B!#(B

Kazuyuki Shudo/$B<sF#0l9,(B   $B;d$r$?$P$M$J$$$G(B $B$"$i$;$$$H$&$N2V$N$h$&$K(B
  shudo@computer.org   http://www.shudo.net/

----Next_Part(Fri_Jul_19_00:39:38_2002_092)--
Content-Type: Image/Gif
Content-Transfer-Encoding: base64
Content-Disposition: inline; filename="jmm_thread_and_memory.gif"

R0lGODdhmQF8APcAAAAAAPr6+gUFBQQEBBQUFCIiIgAAAAoKCkVFRWJiYgICAjc3N7y8vGFh
YUVFRUFBQd7e3llZWWFhYTs7O1xcXDY2NjMzMxoaGlpaWhISEiQkJEFBQYqKigMDAzY2NjEx
MWtraw0NDQUFBRgYGFtbWwcHBwwMDCAgIE9PTwoKCgQEBERERDg4OAcHBwQEBDg4OMPDw2Ji
Yk9PT0RERJGRkQoKCjc3N8rKysjIyImJiWNjY4GBgZSUlIGBgXV1dVJSUlpaWktLS6enpwgI
CCIiIi0tLVtbW1JSUldXV0FBQSAgIGtra6mpqWdnZygoKIGBgXt7e11dXWtraxkZGTw8PAIC
AiAgIDw8PIaGhhAQEAYGBjMzM8HBwQsLCyQkJC0tLVNTU8TExKmpqYODg39/fw8PDzo6OgYG
BoaGhs/Pzzc3N1NTUyUlJRUVFQAAABQUFAcHBxYWFh0dHWZmZjY2NkBAQBUVFUVFRW9vbwwM
DCsrK5ubm4ODg2JiYh4eHnFxcQEBASAgIENDQ6SkpGRkZBsbG7KysicnJxQUFH5+fsDAwAIC
ApGRkZWVlTg4OCoqKlRUVF1dXV9fX2RkZMjIyCMjI2xsbCgoKDc3NyMjI0JCQoWFhQwMDB4e
HlNTUyQkJAICAk5OTlBQUFJSUhoaGgsLCwgICEBAQFZWVnZ2dmJiYmJiYj09PSMjI7m5uWRk
ZEZGRpaWltHR0YKCgmxsbH9/f21tbS8vL2tra3V1dTw8PD09PYaGhmZmZgYGBlJSUpmZmX9/
f2lpaU1NTYKCgmdnZ05OTpOTk39/f19fX2BgYIKCggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAmQF8AAAI/gADCBxIsKDBgwgTKlzIsKHD
hxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bNmzhz6tzJs6fP
n0CDCh1KtKjRo0iTKl1qEYBTAASfQh0oNepTq06xThVYlepVr1nBbg3QletXs2HRji1LNiHb
t2fJxoWbVm5dumvn6r27N+9dt321ChY7WG1hu34TH8a7eK/EsUxPQo4aWeXkyjcvL9SMGSRn
zp09gg49dDRpjZ9PkzSturXr10BZw55Nu3ZJ2bZz695NETfvx7+Dn/Yt3CHxtsWBIzyenHny
icedC0/9HKL06g+jY8/udrtx7zSv/v+mDl6h+PLo0xM9r769e5js38ufbzJ+dfv081vXb145
ffLz4aeedvkBKJ+A6RH4X3cF8leffga+h6CD4NVlGXMWqjYhhbxtyB10s3nIYW4iNuRciTah
SOJuUH3lGGEubfWiYbBhOFVaZ8VVo39KZdUiVWZxFSRy+y2nnI833jikipaJBiRySgpJm4I9
agVZWDLyWBCBWVolJZFMIdglXzq6RmVSax3k45dnUhZRlESuGSdmYj4pl50DRpbmlk92WaSa
R/Yp6JdhOkkoliOu56WQiN6ZYUpJ3ilppI+SdmKLUUZKaKI5BYYWlHKu5CKZoP74mnRI2nUY
p6zGJNVV/pX2BqeWPL2a6kaNgthqa5luitGsbwbVK5gZAfvnhwsaGZuUxl7UrJtoMuurs9N+
F2yDygp15aSqdvspjFjxqSefiI7q16reMtSmexH6dCWmQZoKKrPA1lvZu5P+OGam9hLbEZOh
tdvTttKKhe+ci4pbKLSzvrolnAfvih3BUELrJcQGxQpoaQo3rKapfnol8cMAc1Rmbx0fmvGg
/kpqomQaH4vwngyz+fHIBgvLFso1g4kjt44SjBvADlPbc15ANnory+rWaOvTUEf9tGdSV231
ztnhiCRjnyYpb7pNL3f12FLLKuPWnqrqtc8xK4yseWln7CHZdEfdX7Zy1633/sk/2bj33p2t
+/G5gPU99WYM3na4USUDZqultIpNOJpYJ75yfZUrCl/mHX5X7tlYbu1yTXxb7vZIpWv+Uup5
fr6kprA2jnOTs//r6JCLho577ffybvK3Wo/6uu907jo38LAnvzvxg2Maettgj/7rTlCjzp7g
l8epfL7LM266TlonrO5k0J+us8W4ijz9tZspbS5iRbPe9/edno1++6gxTjOudbIfIP31U5/2
dBc7tYkueC7SH5tEl67YOQ8x3epKAW2HrY25y37aG96tMFhA3VXrgnoBmvu457INrq18zEPK
8xY4PJEhjXseRBz16uVBE5IwfDXUVAo1pC955bAx/hrU4d3ARzNzTVB9MbQhCXc4nBUiUYhL
+yEEXzZDhsVweT+ElxQ1JjsmUk2AN3zhFp8FwPBwUIufU1IOKbU9LkauPQIjIhinKMHnHc6B
P1vP1Bw4xT5OEG10dKIF33agMjbncS3DmYK49pw4NkdcXSwkWMI1MUMeMkderMiMMjkdTnbH
dZM0IO7qCL8HehJ8pwQUKOdlQDQGMY+pxEkkeUUtOY0xiC1cUiw7ZTwerS1fpITh9uKlLUuW
Z5a6odIvr9hCJVpIfiky5kwYCal7Lc44IlKmnZzYRngt8VvLwlutSMUSZIbkL9YxZ/YSGEg7
trKdFGtKyRx5s3KSU1T8/pMJOil0naIZDpqe4RY5/wg6NlYFoLLx5+ogFsXqHTF6TbzU38h2
zolS1HNq3FfXUpVFTFoLbha9mtlI5cwT8stpjwkp3USj0ou+zJbdxOU3cxW25rW0arI6FBub
uVPpfdRpCp1hUFGyTK8JT5i5vB0hbYpC67mJgDENGueGuFQ9AjR/4nRcUyl41Ax1NKnRO89Q
7fnU5IUPqU15Y1G2arRBmmiWfuImT8NIsuz9Sp2jbKPcXvlBqv5Ukm4lIr/cCUE+1vGZgVXh
HlfosDsC8kEVtGuFEgvUqe6SeFft61LieVkvshWvistsZy8L2uKNNlGl7Z3/TpW+rLKrmp1b
/q2ZNEtFyv61No1LbUuwR8u2Sla2Uzqt+azaSuc9VrT0zFs7GSXIKslzckc8qDeF21aNgmyb
+KxYvCiFMA2Nr2DD4u52qVtdpjFUtKgponktu9ms7Q6dY8ITeXWFMZapE5bxlW9v8YfBUeqy
u4FjEQN9ZrPNFVi7tFXtEF/4X2+FzLQyUyGe9tTfoUlzUPajKSwlrMnwgle+D1ZwVb23wKLS
6Lb6BWnumsvecHa4h6BD3gHZ6uIR58m1cCzn/RoJoQtvJ5LMnK+Q4WM93Q5ZyEY+spLP2csl
A5ZTvEVPcifLvCgf08eVrLJaE4Tl+yC5xzi+sZPHHCIym3lcZ04zaodZlWQ1R7NVVqaybbms
ZeDmOMx0xuyWpdxlHs+3zfPDM5/dTOiFFfrQAyNt3KjJ6EU7mkyKAVcf2wfpxlRa0o2+9Ikn
nWnTaJrTj470pjttaVGD+tOITrWqV83qVrv61bCOtaxnTWv+BAQAOw==

----Next_Part(Fri_Jul_19_00:39:38_2002_092)----
