ほとんどの場合、順番に考えてから、後でそのロジックを変更して、スレッドを使用してより適切に動作するようにします。そして、表現が進むにつれて、「それが壊れていなければ、修正しないでください。」ほとんどのプログラマは、スレッドを使用する必要がないという理由だけで、スレッドを使用しません。
あなたがそれらを使用してより快適に感じるなら、あなたへのより多くの力。ただし、スレッドがボトルネックを解消して速度を向上させない場合、プログラムの速度がほぼ確実に低下することに注意してください。
また、1つのCPUだけをプロセス専用にするシステムは、リソースを節約するために1つのスレッドで複数のスレッドをシミュレートすることを考慮してください(スマートフォンアプリケーションは依然としてこの悪用の対象となっていますが、これは現代のコンピューターではあまり起こりません)。この場合、スレッドを使用してボトルネックを解消していても、実際にはスレッドをまったく使用しなかった場合よりも遅くなります。
そして、おそらくスレッドを使用する際に注意を払う最も微妙な理由ですが、確かに重要なことではありませんが、スレッドは予期しないことをする傾向があります。はい、予防策を講じている場合は、大丈夫です。はい、スレッドがスレッド間で共有される変数に書き込まない場合は、大丈夫です。ただし、スレッド関連のバグを見つけるのは非常に困難です。プログラマーはコードにバグを作成する可能性を完全に排除することはできないという考えがあるため、プログラマーはバグを完全に排除することに集中するのではなく、可能性のあるバグから保護するための対策を講じる必要があります。スレッドのバグも見つけます。言い換えれば、あなたの最善の努力にもかかわらず、
とにかくスレッドを使用する必要がありますか?さて、スレッドの健全な知識は、特にあなたがそれに上手になれば、確かに悪いことではありません。ただし、最近の動きは、node.jsなどのシングルスレッド言語に向かっています。単一のスレッドを持つことの主な利点の1つは、スケーリングが容易であり、命令が順次実行されることが予想されることがわかっている場合、特定の最適化が行えることです(最適化とは、並列に実行できる命令が非同期で実行されます)。
そうは言っても、あなたにとって最も快適なことをしてください。私の経験では、あなたが理解しているプログラムを書くことは、より速く動作させるよりも優先されます。プログラムを書いているときにパフォーマンスをあまり気にするべきではないので、プログラムを書くのに役立つと思うときはスレッドを使用してください。最適化は重要ですが、待つこともできます)。