私の質問は一般的なスレッドに関するものです(例:Javaの場合)。スレッドに与えられた最小時間
問題は、スレッドが(実行可能状態)にあるとき、つまり実行中であり、命令(たとえば、メソッドaddOneToX(int x)
を呼び出すことによって)を実行しているときに、スレッドが終了または停止できるかどうかです。その命令を実行する前にその命令を実行した後である。言い換えれば、高水準言語の命令の大部分は、機械固有の言語にデコードされ、CPU内のいくつかのマシンサイクル(クロックサイクル)に分解されます。だから私はそれに応じて、それは明らかです:
1>スレッドがRunnable状態になるために与えられる最小時間は?
2>スレッドはどのようにして状態を保存しますか? (つまり、Runnable状態を終了し、後で戻って停止した場所から継続する場合)
1)最小値はありません。 2)ここでカバーするには複雑すぎる方法。お使いの言語(Java)が機械命令から非常に遠く離れている場合、OSがどのようにしてCPUのレジスタを保存し復元するかは重要ですか? – Andreas
オペレーティングシステム、スケジューリング、タイムスライス、コンテキスト切り替えなどについては、良い本を読む必要があります。 StackOverflowの場合、これは広すぎます。 – RealSkeptic
関連:http://stackoverflow.com/questions/16401294/how-to-know-linux-scheduler-time-slice –