コンテンツへスキップ
uencoder

Concurrency

並行処理とは、複数のタスクが論理的に同時に進行すること(物理的に同時である必要はない)であり、スレッド、コルーチン、イベントループによって実現される。

目的

スループットと応答性を高め、マルチコアと I/O の待ち時間を余すところなく活用する。

メカニズム

スレッドは OS がスケジュールするプリエンプティブ方式であり、共有メモリには同期が必要である。コルーチンは協調的に切り替わる軽量な単位である。イベントループはシングルスレッドの非同期 I/O である。アクターは共有なしのメッセージパッシングである。並行は並列と異なり、並列は複数コアでの物理的同時実行を要求する。

ユースケース

  • パフォーマンス最適化
  • システム設計
  • スケーラビリティ

関連用語

関連チュートリアル

References