這是一個考試問題,我在之前得分很差,但現在試圖讓它正確無誤。如果有人能指出我正確的方向,我將不勝感激,謝謝。使用wait/notify創建活動課程
我的問題是,提供的解決方案是否以正確的方式解決問題?它怎麼能被改進。
我的代碼如下問題。
問題:
的事件對象具有兩個狀態中的一個信號,或者無信號。當 事件處於信號狀態時,全部或一個等待線程均爲 發佈。當它重置爲無信號狀態時,所有用戶線程將被強制等待。事件處於信號狀態 ,直到它被重置爲非信號狀態。基本思想是一個或多個線程可以等待某個事件發生。當事件 等待發生時,線程將採取任何所需的操作。使用 等待/通知寫入一個Event類。
我嘗試:
class Event {
boolean signal;
String obj = new String();
public Event(boolean signal) {
this.signal = signal;
}
synchronized void getSignal(){
while(!signal)
try{
wait();
}
catch(InterruptedException e) {}
}
public void setSignal(boolean signal) {
synchronized (this) {
this.signal = signal;
this.notifyAll();
}
}
}
什麼問題? – 2012-08-16 03:09:23
代碼是否正確,如果不正確,是否可以改進? – conor 2012-08-16 03:27:51
它做它應該做什麼? – 2012-08-16 03:37:56