2011-11-22 10 views
4

C、アプリケーションで3つのスレッド(T1、T2、T3)を生成し、それぞれに対して実行呼び出しを発行するとします。.NETでの呼び出しのブロックに関するスレッドのスケジューリング

通常、プロセッサはスレッドをラウンドロビン方式でスケジュールします(シングルプロセッサとすべてのスレッドは同じ優先順位を持ちます)。

しかし、スレッドT1がブロッキングWebサービスコールを発行するとします。

タイムスライスがすぐに、またはタイムスライスの完了後に先取りされますか?

基本的にWebサービスネットワークコール(または他の呼び出し)を発行すると、スレッドはブロックされた状態になりますか?

+0

興味があるのはなぜ知りたいですか?これは非常に多くのOSに依存します。うまくいけば、あなたはスレッディングに関するマイクロ最適化に至っていないでしょうか?この事が私たちから遮蔽された理由があります。 – Aliostad

+0

私の心には疑いが持たれました。だからちょうどそれをクリアしたい。 – Vikas

答えて

2

スレッドがブロッキングシステムコール(IOに対する任意の要求)を発行すると、スレッドは中断され、そのシステムコールが完了すると「レディ」(まだ実行されていない)とマークされます。

はい、すぐに先取りされます。

+0

よろしくお願いいたします。それは役に立ちます。 – Vikas

関連する問題