我必須執行2種方法線程:執行具有螺紋完整方法中,一旦方法的執行完成啓動另一個方法
await()
signal()
的條件是完成執行之後的方法await()
,那麼只應該調用方法signal()
。
在我的情況下,應用程序正在關閉。
我在這裏寫的樣本例如:
private final Object lock = new Object();
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
signal();
try {
await();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("Method: after await");
}
public void signal() {
synchronized (lock) {
System.out.println("Method before ");
**lock.notify();**
System.out.println("Method await after signal ");
}
}
public void await() throws InterruptedException {
// synchronized (lock) {
Thread t = new Thread() {
public void run() {
System.out.println("Method await before wait ");
try {
**lock.wait();**
} catch (InterruptedException e) {
// TODO Auto-generated catch block
System.out.println("Method in exception ");
}
System.out.println("Method await after wait ");
}
};
}
'請提供解決方案'是不是什麼SO。如果你有一個特定的問題,你不能自己解決,儘管我們很樂意幫助你。 – Keppil 2012-07-26 07:14:59
我喜歡你的評論Keppil,我爲此嘗試了很多,但總是得到InterruptedException異常,我通過創建兩個不同的類來解決這個問題,但是我需要一些關於我在這裏發佈的相同邏輯的幫助,如果你可以幫助解決它的可觀性。謝謝 – dhir 2012-07-26 07:23:16