多肢選択問題 (1 つだけが正しい) テストでこの質問をされましたが、これに対する答えが何であるかわかりません。
which of these will not cause the thread to stop ?
wait,notify,sleep,One more option provided(i dont remember)
私はこれらをかなり理解していますが、この質問の答えが何であるかわからず、同じものを探しています
多肢選択問題 (1 つだけが正しい) テストでこの質問をされましたが、これに対する答えが何であるかわかりません。
which of these will not cause the thread to stop ?
wait,notify,sleep,One more option provided(i dont remember)
私はこれらをかなり理解していますが、この質問の答えが何であるかわからず、同じものを探しています
wait
--> スレッドは、ロックを保持しているオブジェクトの待機を呼び出し、他のスレッドに依存しますnotify
。
notify
そしてnotifyAll
--> 通知はスレッドを起動し、それらを実行可能なキューに入れます。ロックの通知を呼び出したスレッドがロックを解放した後、実行可能なキューのスレッドの 1 つがロックを保持します。
sleep
--> 名前が示すように、スレッドの処理を停止し、指定された期間スリープ状態にします。誰かが中断するか、タイムアウトが発生するまで。
したがって、答えはnotify
、スレッドが停止することはありません。
notify
プロセスを起動するか、実行キューに入れます。あなたが指定した他の2つのオプションは、プロセスを待機キューに入れます。
待機とスリープにより、スレッドは一時的に実行を停止します。
http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Thread.html#sleep%28long%29
http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait%28%29
Notify は、前に待機が呼び出されたスレッド (notifyAll の場合はスレッド) で実行を再開します。
3 つのオプションがある場合、notify が最も正確な答えになります。