マルチスレッドプログラミングの利点について
はじめまして。
質問があります。
現在マルチスレッドプログラミングについて学習しているのですが、
学習を進めていくうちにある疑問が思いつきました。それは、
マルチスレッドで実装した方がよい場合とシングルスレッドで実装
した方がよい場合の区別がよくわからないということです。マルチスレ
ッドで実装する利点は、例えば、応答性を向上させるとか、
入出力操作が関わっているときにCPUの空き時間を利用して別スレッド
で処理を行わせることによってスループットを向上させることぐらいしか思いつきません。また、CPUが1個しかない環境では、
CPUをフル活動するようなプログラムでは、下手にマルチスレッドで
実装するよりもシングルスレッドで実装したほうが排他制御しない
分だけ処理スピードは上であると思っているのですが、間違いでしょうか?マルチスレッドで実装した場合の利点は上述したこと以外にも
何かあるのでしょうか?ご教授お願いします。