「シングルスレッド」と「マルチスレッド」の違い
スポンサーリンク
予備知識
| 用語 | 意味 |
|---|---|
| スレッド | プログラムの処理の実行単位(のひとつ) |
| シングル | 「1つ」の意味 |
| マルチ | 「複数(2つ以上)」の意味 |
それぞれの用語の意味
| 用語 | 意味 |
|---|---|
| シングルスレッド | 処理の開始から終了まで線を引いたときに1本の線で書ける、枝分かれしない処理 |
| マルチスレッド | 処理の開始から終了まで線を引いたときに、枝分かれの発生する処理 |
似ているところ
どちらもプログラムの処理単位を表す用語です。
違うところ
処理の枝分かれ(並行処理)が発生するかしないかの違いです。
例えば、カレー作成プログラムを作るとしましょう。
やるべき処理は
1.ご飯を炊く
2.カレーを煮込む
3.お皿に盛る
の3つです。
この処理をやるときに枝分かれが発生しないのがシングルスレッドです。
一連の処理を1つずつ順番にやります。

一方、枝分かれが発生するのがマルチスレッドです。
例えば、ご飯を炊きながらカレーを煮込んだりですね。
並行処理が発生します。

個人的な使い分け
マルチスレッドにすると考慮すべきことが多くなるので、基本的にはシングルスレッドで作ります。
シングルスレッドでは要件を満たせないときのみ、マルチスレッドにします。






