Thread t1= new Thread(new Runnable() {
public void run() {
//perform Database stuff
}
});
t1.start();
initCache();//perform other Database stuff (Can this code be executed while thread 1 is running?)
t1の終了後にinitCacheメソッドが強制的に待機するようにするにはどうすればよいですか?スレッドによる可変干渉
私は並行処理APIの作者のため以外に存在し、実際にはなかったという印象の下にありました* * join()*のような低レベルのものを使用する正当な理由がたくさんあります。私は巨大なマルチスレッドのJavaコードベースを見たことがあります。* join *または* yeld *や、Javaがまだ覚えていない他の低レベルのものについては、まったくゼロコールを呼び出しています。 – Gugussee
スレッドが終了するのを待つだけの場合は、別の*概念を導入する必要はありません。 CountDownLatchを導入するにあたって、この特定のケースで 'join' *を呼び出すだけで*何の利点がありますか?多くの場合、高水準の抽象化が優れていますが、スレッドが終了するのを待っているだけの場合は、 'join'を使って何が間違っているのか分かりません。 OPが別のスレッドを最初に必要とするという証拠はありません... –
私は 'wait()'と 'notify()'/'notifyAll()'が避けられ、より良い/もっとモダンに置き換えられるべき方法を理解しています代わりに、私はここでも 'join()'を使用する際に問題は見られません。また、:これはdownvotesの理由ですか? –