[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

スレッド (thread)

pointこの用語のポイント

pointプログラムの処理の実行単位だよ

pointあるいは、掲示板におけるトピックス毎のまとまりだよ

スポンサーリンク

簡単に書くよ

スレッド (thread)とは

プログラムの処理の実行単位(の一つ)。
あるいは

2ちゃんねるみたいな形式の掲示板における、それぞれのトピックスのこと
です。

image piyo

詳しく書くよ

タスクプロセスより細かい処理の実行単位が「スレッド」です。
何を言ってるのか、さっぱり分かりませんね。

例えば、カレー作成プログラムを作るとします。
やるべき処理は

1.ご飯を炊く
2.カレーを煮込む
3.お皿に盛る


の3つです。

他にも、らっきょうを買ってくるとかお水を用意するとかいろいろあるでしょうが、一先ず気にしないでください。
この3つの処理を行うプログラムを作成します。

一番単純な作りのプログラムは、3つの処理を続けて書いたプログラムです。
処理が開始したら、ご飯を炊いて、カレーを煮込んで、お皿に盛ります。これで完了です。

スレッド

このプログラムを、仮に「プログラム1」としましょう。

でも、ご飯を炊くのと、カレーを煮込むのは並行して行えますよね?
ということは、処理が開始したら、ご飯を炊くと同時にカレーを煮込んで、両方終わったらお皿に盛る、でもカレーは出来あがります。

スレッド2

こちらのプログラムは「プログラム2」としましょう。

プログラム1もプログラム2も立派なカレー作成プログラムです。
どちらを動かしても美味しいカレーが出来上がります。

それでは、実際にカレー作成プログラムを動かしてみましょう。

カレー作成プログラムは一つのタスクです。
動かすと、プロセスが一つ立ち上がります。

カレー作成プログラムが処理を開始しました。

プログラム1の方では「ご飯を炊く」処理が動きます。

スレッド3

プログラム2の方では「ご飯を炊く」処理と「カレーを煮込む」処理が動きます。

スレッド4

このとき動いている、それぞれの処理(の単位)が「スレッド」です。

プログラム1では1つのタスク、1つのプロセス、1つのスレッドが動いています。
プログラム2では1つのタスク、1つのプロセス、2つのスレッドが動いています。

イメージしづらければ、処理開始から処理終了までの流れを線で引いて、その線一本一本がスレッドだと思っても構いません。

プログラム1は、処理開始から処理終了まで一本の線です。

スレッド5

プログラム2は、途中で一時的に二本に枝分かれしています。

スレッド6

このそれぞれの線がスレッドです。

余談ですが、プログラム1のように流れが一つの処理は「シングルスレッド」と呼ばれます。
プログラム2のように流れが複数に枝分かれして並行処理が発生している処理は「マルチスレッド」です。
併せて覚えてあげてください。

これが、プログラムにおけるスレッドです。

あとは、掲示板なんかでも「スレッド」という表現が出てくる場合があります。
こちらの「スレッド」は話題、トピックス毎のまとまりです。

スレッド7

2ちゃんねるのような形式の掲示板では、一つの話題毎に一つのエリアが用意され、そのエリア内で返信を付ける形で、あーだこーだとコミュニケーションを取ります。
その話題毎のまとまりをスレッドと言います。

image piyo2

一言でまとめるよ

まぁ「スレッド」って単語が出てきたら「プログラムの処理の実行単位、もしくは、掲示板におけるトピックス毎のまとまりなんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク