ホームページ  >  記事  >  Java  >  Javaのyield()とsleep()の違いは何ですか?

Javaのyield()とsleep()の違いは何ですか?

王林
王林転載
2023-05-07 21:55:061473ブラウズ

違い

1. sleep() は、CPU タイムスライスを消費せずに、現在のスレッドを指定された時間一時停止させます

2. yield() のみスケジューラからの CPU A プロンプトに影響します。CPU スケジューラがこのプロンプトを無視しない場合、スレッド コンテキストが切り替わります。

sleep() はスレッドを一時的にブロックし、指定された時間内に CPU リソースを解放します。 .

yield() が有効になると、yield() は RUNNING 状態から RUNNABLE 状態に入ります。

sleep() は一定時間スリープをほぼ 100% 完了しますが、 yield() プロンプトは保証できない場合があります

sleep() を呼び出す 1 つのスレッドと、interrupt() を呼び出す別のスレッドが割り込み信号をキャッチしますが、yield は割り込み信号をキャッチしません

##インスタンス rree

以上がJavaのyield()とsleep()の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。