スレッドとプロセスってどう違うんだっけ?それから、Goのゴルーチン
プロセス
コンピューター上でのプログラムの実行単位のこと
独立したメモリ空間を持つため、他のプロセス等に干渉しない
具体的には、ワープロのプログラム、メディア・プレイヤーのプログラム、ブラウザのプログラムようなイメージ
スレッド
プロセス内での実行単位のこと
シングルスレッド
マルチスレッド
スレッド間で同じメモリ空間を共有する
プロセッサーがスレッドを順次切り替えながら処理を進めていくので、いわゆる並行処理がなされる
複数のスレッドが互いに相手の処理完了を待ち続ける状況、すなわち、デッドロックを引き起こしてしまうようなプログラムはNG
参考資料