【プロセス】と【スレッド】の違いとは?例文付きで使い方や意味をわかりやすく解説
プロセスとスレッドの分かりやすい違い
どちらもコンピューターが仕事を進める単位ですが、大きさと分け方が違います。プロセスは動いているプログラム一つ分のまとまりで、自分専用の記憶領域を持ちます。
スレッドはそのプロセスの中で並行して進む処理の筋道で、同じプロセスの記憶領域を分け合います。分けて守るならプロセス、分け合って手早く回すならスレッド、という関係だと押さえておきましょう。
プロセスとは?
「プロセス」は、OS から見た「動いているプログラム一つ分」のまとまりを指します。起動されると専用の記憶領域が割り当てられ、他のプロセスからは原則としてその中身を直接触れません。
境目が守られているため、あるプロセスが異常終了しても、他のプロセスは動き続けられることが多くなります。反面、プロセスどうしでやり取りをするには、あらかじめ用意された受け渡しの仕組みを通す必要があり、手間や時間がかかります。
新しく作るときの負担も、内部の処理の筋道を増やす場合に比べて重くなります。同じプログラムを複数のプロセスとして動かし、仕事を分担させる構成もよく採られます。
プロセスの例文
- ( 1 ) 画面側と集計側をそれぞれ別のプロセスにして、影響が及ばないようにした。
- ( 2 ) プロセスが異常終了しても、他のプロセスは動き続けている。
- ( 3 ) プロセスどうしのやり取りには、受け渡しの仕組みを用意する必要がある。
- ( 4 ) 同じプログラムを四つのプロセスとして動かし、仕事を分担させた。
- ( 5 ) プロセスを増やしすぎて、メモリが足りなくなった。
- ( 6 ) 一覧を見て、どのプロセスが資源を使っているかを調べた。
プロセスの会話例
スレッドとは?
「スレッド」は、一つのプロセスの中で並行して進む処理の筋道を指します。同じプロセスに属するスレッドどうしは記憶領域を分け合うため、データの受け渡しが手早く、新しく作るときの負担も軽くなります。
画面の反応を保ちながら裏で重い計算を進める、といった使い方がしやすくなります。ただし同じ領域を分け合うということは、複数のスレッドが同じデータを同時に書き換えてしまう危険もあるということで、順番を整える仕組みが要ります。
整え方を誤ると、互いに待ち続けて止まってしまうような、厄介な不具合につながります。一つのスレッドの異常終了が、プロセス全体に影響することもあります。
スレッドの例文
- ( 1 ) 重い計算を別のスレッドに逃がし、画面の反応を保った。
- ( 2 ) 同じデータを複数のスレッドが書き換えないよう、順番を整える仕組みを入れた。
- ( 3 ) スレッドは作る負担が軽いので、細かく分けて並行させた。
- ( 4 ) スレッドどうしは記憶領域を分け合うため、受け渡しが手早い。
- ( 5 ) 待ち合わせの順序を誤り、スレッドが互いに待ち続けて止まってしまった。
- ( 6 ) 一つのスレッドの異常が、プロセス全体に響くことがある。
スレッドの会話例
プロセスとスレッドの違いまとめ
プロセスとスレッドは、コンピューターが仕事を進める単位ですが、大きさと分け方が違います。プロセスは動いているプログラム一つ分のまとまりで、専用の記憶領域を持ちます。
境目が守られるため、片方が異常終了しても他方は動き続けられることが多い反面、やり取りには受け渡しの仕組みが要り、新しく作る負担も重くなりがちです。スレッドは一つのプロセスの中で並行して進む処理の筋道で、記憶領域を分け合うため受け渡しが手早く、作る負担も軽くなります。
そのかわり、同じデータを同時に書き換える危険があり、順番を整える仕組みが欠かせません。守りを固めたいならプロセス、手早さを取るならスレッドが目安です。
プロセスとスレッドの読み方
- プロセス(ひらがな):ぷろせす
- プロセス(ローマ字):purosesu
- スレッド(ひらがな):すれっど
- スレッド(ローマ字):sureddo