04/10/03 18:22:54
>>290 ファイト!
ちょっといい問題ができました。試験でこんなの出たらワシは焦ります。
■2つのスレッドが生成され、methAを1番目のスレッドで、methBを2番目のスレッドで
呼び出しました。正しい記述を選んでください。(一つ選択)
(ただし2つのスレッドは同じインスタンス上のメソッドを呼び出しています。)
class ThreadTest {
private int data = 1;
public synchronized void methA(){
while(data == 1){
try{ wait(); }catch(InterruptedException e){}
data = 0;
}
System.out.println("A");
notify();
}
public synchronized void methB(){
while(data == 1){
data = 0;
try{ wait(); }catch(InterruptedException e){}
}
System.out.println("B");
notify();
}
}
[い] 実行すると例外がスローされる。
[ろ] まず A と出力され、次に B と出力される。
[は] A と B が出力されるが順序は不定である。
[に] その他。