プログラミング基礎初級
スレッド
スレッド
一言で言うと
1 つの質問に紐づく返信の集まり。
もう少し詳しく
一言で言うと
プロセス内で独立して実行される処理の最小単位。
もう少し詳しく
スレッドはプロセス内で独立して実行される処理の最小単位で、同一プロセス内のヒープメモリやグローバル変数などのリソースを共有しながら並行して動作します。1 つのプロセスが複数のスレッドを持つことをマルチスレッドと呼び、処理の並列化によってパフォーマンス向上が期待できます。
一方、複数のスレッドが共有データへ同時にアクセスすると競合状態(レースコンディション)が発生するリスクがあります。このような問題を防ぐために「スレッドセーフ」な設計や、ミューテックス・ロックを用いた排他制御が必要になります。また、複数のスレッドが互いにロックの解放を待ち続けてしまう「デッドロック」にも注意が必要です。
実務でどう使うか
関連する章
Ch3, Ch4 で詳しく学べます。