synchronized
$B=$>~;R(BRevised: Apr./6th/2002; Since: Mar./23rd/2002
$B%a%=%C%I$KBP$7$F!"(B synchronized
$B=$>~;R$r;XDj$9$k$3$H$,$G$-$^$9!#$3$N=$>~;R$G;XDj$5$l$?%a%s%P!<$O!":GBg$G$b0l$D$N%9%l%C%I$K$7$+;YG[$5$l$^$;$s!#$"$k%9%l%C%I$,$3$N%a%s%P$K%"%/%;%9$7$F$$$k$H$-$KJL$N%9%l%C%I$,=E$M$F%"%/%;%9$7$h$&$H$9$k$H!"@h$K;H$C$F$$$?%9%l%C%I$K$h$k=hM}$,=*N;$9$k$^$GBT5!$5$;$i$l$^$9!#(B
synchronized
$B=$>~$5$l$?%a%s%P!<$O!"0l$D$N%9%l%C%I$K%"%/%;%9$5$l$k$H%m%C%/$5$l$F!"%^%k%A%9%l%C%I$K$h$kF1;~%"%/%;%9$rKI$2$^$9!#$3$N$h$&$J%3!<%I$r;}$C$?%*%V%8%'%/%H$N$3$H$r%b%K%?!<$H8F$S$^$9!#(B
$B
$B$=$l$>$l$N%9%l%C%I$O!"F1$8%*%V%8%'%/%H$N%G!<%?$r $BIT@09g$r5/$3$90Y$K(B $B$3$N%5%s%W%k$G$O!"8^$D$N%9%l%C%I$,!"6&M-%*%V%8%'%/%H$N%G!<%?$r $B
$B$3$NNc$G$O!"(B Thread.sleep()
$B$r;H$C$F$$$^$9$,!"DL>o$O$=$l$@$1$N;~4V$,3]$+$k=hM}$,B8:_$9$k$3$H$K$J$j$^$9!#(B
// $B6&M-$9$k%G!<%?$rJ];}$9$k%/%i%9(B
class Share {
private int x = 0;
public void addX() {
int a = x;
// $B#2IC4V%9%j!<%W(B
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
System.out.println("Share: " + e);
}
x = a + 1;
System.out.println(a);
}
public int getX() {
return x;
}
}
// $B%^%k%A%9%l%C%I$G
$B?^!'!!F14|;XDj$7$J$$IT@09g$NNc(B
C:\Java\Thread>javac SyncTest.java
C:\Java\Thread>java SyncTest
count: 0
0
0
0
0
0
count: 1
$BF14|;XDj$7$?Nc(B
// $B6&M-$9$k%G!<%?$rJ];}$9$k%/%i%9(B
class Share {
private int x = 0;
// $BF14|;XDj$7$?%a%=%C%I(B
public synchronized void addX() {
int a = x;
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
System.out.println("Share: " + e);
}
x = a + 1;
System.out.println(a);
}
// $BF14|;XDj$7$?%a%=%C%I(B
public synchronized int getX() {
return x;
}
}
// $B%^%k%A%9%l%C%I$G
addX()
$B$K(B synchronized
$B=$>~;R$r$D$1$F$$$k$N$G!"0l$D$N%9%l%C%I$,
C:\Java\Thread>javac SyncTest.java
C:\Java\Thread>java SyncTest
count: 0
0
1
2
3
4
count: 5
Copyright © 2002 SUGAI, Manabu. All Rights Reserved.
SEO
[PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送