スレッドについて
プロセスとスレッドの違い
- プロセス:メモリ領域が独立しているので安全、しかし切り替えに処理が多い
- スレッド:切り替えのコストは低いが、干渉しないように考慮する必要がある
参考:
イケてるエンジニアになろうシリーズ 〜メモリとプロセスとスレッド編〜 - もろず blog
連載.NETマルチスレッド・プログラミング入門:第1回 マルチスレッドはこんなときに使う (1/2) - @IT
スレッド化のキーポイント
- レスポンスタイム
ex: ダウンロード中のほかの操作など
- スループット(単位時間当たりの処理能力)
ex: ネットワークやディスクへのアクセスは時間がかかるがCPUの処理は低いため、この時CPUを有効活用する
スレッドの実装のイメージ
わかりやすい👇
参考:
オーバーヘッド
- 行いたい処理とは別に付加的に必要な処理や時間
ex : 送りたいデータではなく、その制御に使う処理
参考:
オーバーヘッドとは|overhead : 意味/定義 - IT用語辞典
コンテキストスイッチ
- スレッド間での切り替え動作
参考: