1

マルチスレッド アプリケーションを実行する場合、アプリケーションに使用される最大スレッド数を明示的に指定する必要がありますか? それとも、Linux が単独で管理しますか? Linux が単独で処理する場合、CPU がすべてのユーザー間で分割されるという意味で、「ソーシャル」であることが期待されます。しかし、多分私はこれについて間違っていますか?

4

2 に答える 2

4

一部のシステムには、システムが処理できる最大数のスレッドがありますが、ほとんどのシステムは、それが発生する前に [ある種の] メモリが不足するだけです。

スレッドが「あまり実行されていない」場合は、おそらく好きなだけいくつでも持つことができます (ただし、数千のスレッドを処理すると、システムがすべてのスレッドを「ウォーク」する必要があるため、実行が遅くなる可能性があります)システム)。あなたのスレッドが計算などで重い場合、システム内の他のプロセスがそれらのプロセスのためにいくらかの予備の CPU 容量を残すことは「良いこと」です。

したがって、それは実際には決まったものではなく、何を達成しようとしているかによって異なります。そしてもちろん、システム全体の目的は、BMW の新車の空気力学をモデル化することである場合、空気力学の計算を行うために CPU の 99.999% を使用してもまったく問題ありません。マシンが専用の Web サーバーである場合、CPU の 99.99% を使用して Web ページを提供することもまったく問題ありません。Web の閲覧、電子メールの作成、コードのコンパイルに使用するデスクトップ マシンの場合、使用可能な CPU の 99.99% を使用して音楽コレクションをフーリエ変換し、曲の重複をチェックすることは、おそらく理想的なソリューションではありません。

于 2013-04-25T13:25:41.983 に答える