2010-12-13 8 views
1

OSのネイティブスレッドはどれくらいの費用がかかりますか?ホストOSはスレッドスタックのためのいくつかの仮想メモリとスレッド制御構造のための少しのカーネルメモリを割り当てます。何か不足していますか?スレッドはどれくらい高価ですか?

+4

答えは1つではありません。OSによってかなり異なります。 –

答えて

4

スケジューラの負荷を、スレッドのビジー状態やスケジューラの種類によって増やすことができます。また、スタックの最初のページに物理メモリを割り当てます。

多くの場合、主なコストはキャッシュ汚染です。あまりにも多くのスレッドがキャッシュを共有しすぎているため、アクティブな並行タスクが多すぎるとパフォーマンスが低下するため、スリープ状態からスリープ状態に移行するよりもスレッドが苦しむことは敬遠されますメインメモリを検索すると、単一のタイムスライス中に同様のオーバヘッドが数回発生し、また、そのタイムスライス中に行われる作業が非常に少ないため、比例してより多くのコンテキスト切り替えが行われる。

関連する問題