aguagu :
私は生きているメインスレッドを維持したいです。私は3つのオプションを発見した、と私は1つが最適なのだろうか。どのような違いがあり、なぜ?
その中で任意の消耗リソースはありますか?
一方、(TRUE){}
thread.join()
たCountDownLatch(1).await()
私はそれらを試みたが、それらはうまくいきました。
while(true){}
thread.join()
CountDownLatch(1).await()
GhostCat敬礼モニカC.:
ここに:
while(true){}
「熱い」待機を行います。それは意味:あなたのCPUは何もしない、100%で回転します。あなたは本当にラッキーであれば多分、多分、JVMがいることを検出し、そのようにCPUサイクルを燃やさないですることができます。
()参加のために、私たちが見つけ、一方:
我々は、スレッドのjoin()メソッドを呼び出すと、呼び出し元のスレッドが待機している状態になります。これは、参照されたスレッドが終了するまで待機している状態のまま。
(このことからチュートリアル)
だから、より健康的なアプローチのように()の音に参加。await()
同様の方法で動作するはずです。
これらの2つの方法の欠点:それはおそらく良いアイデアは「しばらく真」ループにそれらを置くかもしれないので、彼らは、割り込みをスレッド化に反応します。