スレッドとプロセスってどう違うんだっけ?それから、Goのゴルーチン
プロセス
コンピューター上でのプログラムの実行単位のこと
独立したメモリ空間を持つため、他のプロセス等に干渉しない
具体的には、ワープロのプログラム、メディア・プレイヤーのプログラム、ブラウザのプログラムようなイメージ
スレッド
プロセス内での実行単位のこと
シングルスレッド
マルチスレッド
スレッド間で同じメモリ空間を共有する
プロセッサーがスレッドを順次切り替えながら処理を進めていくので、いわゆる並行処理がなされる
複数のスレッドが互いに相手の処理完了を待ち続ける状況、すなわち、デッドロックを引き起こしてしまうようなプログラムはNG
参考資料
https://atmarkit.itmedia.co.jp/ait/articles/0503/12/news025.html
https://docs.oracle.com/cd/E19253-01/819-0390/mtintro-25092/index.html
https://zenn.dev/farstep/articles/process-thread-difference