編輯: 你的編輯,使分辨率更容易一些。你仍然需要信號,但是你可以從頭開始複雜的工作。你可以使用一個簡單的ReentrantLock和一個標誌。
也許這樣的事情
boolean needsToWaitForUserInput = false;
final ReentrantLock lock = new ReentrantLock();
final Condition waitingCondition = lock.newCondition();
private final Runnable networkRunnable=new Runnable(){
public void run(){
//get network information
lock.lock();
needsToWaitForUserInput = true;
try{
while(needsToWaitForUserInput){
waitingCondition.await();
}
}finally{
lock.unlock();
}
}
}
public void signalJobToContinue(){
lock.lock();
try{
needsToWaitForUserInput =false;
waitingCondition.signal();
}finally{
lock.unlock();
}
}
見編輯:網線本身是當需要暫停它,誰知道一個。 – 2011-04-11 20:44:26
確定根據該編輯進行更新。讓我知道這個問題是否仍然被誤解 – 2011-04-11 20:53:46