では、スレッドを一時停止する最良の方法は何ですか? これまでのところ、次のようなものがあります。スレッドのメインループでは、最初の行は次のとおりです。
while (paused == true) {
Thread.sleep(refreshRate);
}
そして、それは完璧に機能します。Pキーを押して一時停止状態を変更できます。しかし、私はより良い、よりプロフェッショナルなソリューションを探しています. 再入可能なロックと条件について知っています。そのため、スレッドでそれらを使用できました。そして、P を押すと singalAll() メソッドが解放されます。しかし、このスレッドでは実際には必要のない同期のために、アプリの速度が大幅に低下します。では、それを解決するための最良の、最もパフォーマンスの高い方法は何ですか? たぶん同期ブロックを使用していますか?
synchronized (new Object()) {
}
次に、コードの一部だけが同期されます。それとも、セマフォを使用する必要がありますか?