0

(win32/c++環境での作業)

リソース(の)ReadFileから読み取る1バイトの固定サイズで(同期的に)呼び出す関数があります。この関数を実行する複数のスレッドがあります。データは外部からソケットに書き込まれ、私の制御下にはありません。データがまだ書き込まれていないときはいつでも、CPU のほぼ 80% を消費していることに気付き、使用量は前述のスレッド間で比較的均等に分割されます (通常は 4 つのスレッドがあります)。SOCKETWINSOCKexe

OS api と同様ReadFileに、このような問題を回避するために、内部で非同期に実装されることを期待していました。私の質問は、なぜこれが起こっているのか、それを避けるために何ができるのかということです.

4

1 に答える 1