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 ");
}
};
}