【プロセス】と【スレッド】の違いとは?例文付きで使い方や意味をわかりやすく解説
※本記事には広告・プロモーションが含まれています。
プロセスとスレッドの分かりやすい違い
プロセスとスレッドの違いは、「単位の大きさ」と「記憶領域の分け方」にあります。
プロセスは、動いているプログラム一つ分のまとまりで、専用の記憶領域を持つ単位です。
スレッドは、そのプロセスの中で並行して進む処理の筋道で、記憶領域を分け合う単位です。
プロセスとは?
プロセスとは、OSから見た「動いているプログラム一つ分」のまとまりのことです。
動いているプログラムを一つずつ分けて管理したり、仕事を分担させたりする場面で用いられます。
起動時に専用の記憶領域が割り当てられ、他のプロセスからは中身に直接触れられないため、あるプロセスが止まっても他は動き続けやすいという性質を持ちます。
ただし、プロセスどうしのやり取りには専用の受け渡しの仕組みが必要で、新しく作るときの負担もスレッドを増やす場合より重くなります。
プロセスの例文
- ( 1 ) 画面側と集計側をそれぞれ別のプロセスにして、影響が及ばないようにした。
- ( 2 ) プロセスが異常終了しても、他のプロセスは動き続けている。
- ( 3 ) プロセスどうしのやり取りには、受け渡しの仕組みを用意する必要がある。
- ( 4 ) プロセスを増やしすぎて、メモリが足りなくなった。
プロセスの会話例
集計中に画面が固まるので、処理を分けたいのですが。
別のプロセスとして動かす手がある。プログラム一つ分で、専用の記憶領域を持つ。
分けると、何が良いんですか。
境目が守られる。集計側が異常終了しても、画面側は生き残る。
スレッドとは?
スレッドとは、一つのプロセスの中で並行して進む処理の筋道のことです。
画面の反応を保ちながら裏で重い計算を進めたい場面で用いられます。
同じプロセスの記憶領域を分け合うため、データの受け渡しが手早く、新しく作るときの負担も軽くなるという性質を持ちます。
ただし同じ領域を分け合う分、複数のスレッドが同じデータを同時に書き換えてしまう危険があり、順番を整える仕組みが要ります。
スレッドの例文
- ( 1 ) スレッドは作る負担が軽いので、細かく分けて並行させた。
- ( 2 ) 重い計算を別のスレッドに逃がし、画面の反応を保った。
- ( 3 ) 同じデータを複数のスレッドが書き換えないよう、順番を整える仕組みを入れた。
- ( 4 ) 一つのスレッドの異常が、プロセス全体に響くことがある。
スレッドの会話例
受け渡しの手間を減らしたいなら、スレッドのほうがいいのでしょうか。
同じプロセスの中なら記憶領域を分け合うから、やり取りは手早い。作る負担も軽い。
では、全部スレッドにしてしまえば。
分け合うと、同じデータを同時に書き換える危険もある。順番を整える仕組みが要る。
プロセスとスレッドの違いまとめ
プロセスとスレッドの違いは、単位の大きさと記憶領域の分け方にあります。
プロセスは動いているプログラム一つ分のまとまりで専用の記憶領域を持つのに対し、スレッドはそのプロセスの中で並行して進む処理の筋道で記憶領域を分け合います。
境目を守って動かしたい場合は「プロセス」、手早さを重視する場合は「スレッド」と区別されます。
プロセスとスレッドの読み方
- プロセス(ひらがな):ぷろせす
- プロセス(ローマ字):purosesu
- スレッド(ひらがな):すれっど
- スレッド(ローマ字):sureddo