最近、「C」プログラミングでCPUを集中的に使用するさまざまな操作のようなこの質問に出くわしました。以下について考えることができます。
- 数学演算
- 特定のシナリオのようなニーズに基づいたデータ構造の適切な選択リンクリストは、数千のレコードを格納するのに適切でない場合があります
- ..。
何か助けに感謝しますか?
システム コールや、メモリとの間で大量のデータをロード/保存することを伴わないものはすべて、CPU を集中的に使用します。
これは単純に、CPU を他のデバイス (メモリ、I/O) を待機させない場合、CPU は可能な限り高速に実行されるため、すべてが CPU 集中型になるという事実から導かれます。
システム コールも、同じ基準で CPU を集中的に使用する場合があります。CPU を使用し、他のデバイスを使用しない場合、システム コールは CPU を集中的に使用します。1 つの例外は待機要求です。これにより、何らかの外部イベントが発生するまで CPU を「休止」させることができます。
より多くのパーツを同時に動作させることにより、CPU の使用率を高める操作および操作の配置がいくつかあります。もちろん、これはプロセッサのモデルに依存し、複雑なトピックです。また、プロセッサが実行するのが「難しい」こともあり、コンピュータ アーキテクチャの問題により、プロセッサが他の配置より多かれ少なかれ高速に実行できる操作の配置があります。これも複雑なトピックです。
それ自体は CPU を集中的に使用するわけではありませんが、カーネルとユーザー空間の間でコンテキストが切り替わります。つまり、小さなバッファーでの read() または write()