スレッド
プロセス
プログラムの実行単位
1つのメモリ空間と1つの実行フローを持つ
実行フロー:プログラムカウンタ,スタックなど
実行フローはスレッドと呼ばれる
プロセスは複数の実行フロー(スレッド)を持つことができる
スレッドのコンテキストスイッチは高速
メモリ空間を共有するため
シングルスレッド
一つの実行プログラム(プロセス)は一つのスレッド(シングルスレッド)で命令を順に実行していく
マルチスレッド
並行処理が可能な環境では一つのプログラムが複数のスレッドを持つ
それぞれが独立にプログラム中の異なる箇所を並行して実行していく
マルチスレッドのメリット
同一プロセス内の複数スレッドを同一メモリ空間上で実行でき、メモリ消費量などが軽減できる
処理速度の改善?
マルチスレッドのデメリット
同じデータを複数のスレッドが同時に書き換えることによる不整合に注意(スレッドアンセーフ)
排他制御を行う必要がある
CPUのコアに対してスレッドは1かそれ以上
それ以上なのはハイパースレッディングのとき
スレッドとプロセスの違いを完全に理解する
スレッド (コンピュータ) - Wikipedia
マルチスレッドとは - 意味をわかりやすく - IT用語辞典 e-Words
マルチスレッドの背景知識 -プロセスとスレッド
マルチスレッド・プログラミング(1)/ Multithread programming (1)
https://milestone-of-se.nesuke.com/sv-basic/architecture/cpu/
public.icon