問題一覧に戻る
上級高度な機能
問題109: wait()とnotify()
wait()とnotify()を使用してスレッド間通信を調整します。スレッドが互いにシグナルを送り、条件を待つ方法を学び、プロデューサー・コンシューマーパターンとスレッド協調を可能にします。
class SharedResource {
private boolean ready = false;
// wait()で待機
public synchronized void consume() throws InterruptedException {
while (!ready) {
();
}
System.out.println("Consumed");
ready = false;
();
}
// notify()で通知
public synchronized void produce() {
ready = true;
System.out.println("Produced");
();
}
}