★★Java質問・相談スレッド167★★
■ このスレッドは過去ログ倉庫に格納されています
0030デフォルトの名無しさん
2014/02/01(土) 16:55:14.37スレッドを2つ起動し片方はincrement、decrementを実行し続けるスレッドを起動したとします。
1つ目のスレッドが�@の場所でwaitで待機した場合、2つ目のスレッドはshareにアクセスできないので�Aのnotifyで�@のwaitを解除できないと思うのですが、
waitで待機してる時は他のスレッドでもshareにアクセスできるということなのでしょうか?
class share{ //共有クラス
private int i=0;
public synchronized void increment(){
while( i != 0){
try {
wait(); //�@
} catch (InterruptedException e) {
}
notify();
i++;
}
public synchronized void decrement(){
while( i == 0){
try {
wait();
} catch (InterruptedException e) {
}
notify(); //�A
i--;
}
}
■ このスレッドは過去ログ倉庫に格納されています