Concurrent data structure とは

コンピュータサイエンスでは、同時データ構造は、コンピュータ上の複数の計算スレッド(またはプロセス)によるアクセスのためにデータを格納および整理する特定の方法です。
歴史的に、そのようなデータ構造は、複数のコンピューティングスレッド(またはプロセス)をサポートするオペレーティングシステムを備えたユニプロセッサマシンで使用されていました。同時実行という用語は、プロセッサがデータに同時にアクセスする2つの操作を決して発行しなかったとしても、オペレーティングシステムによるデータに対するスレッドの操作の多重化/インターリーブをキャプチャしました。
今日では、並列性を提供するマルチプロセッサ・コンピュータ・アーキテクチャが(マルチコア・プロセッサの普及により)支配的なコンピューティング・プラットフォームとなっているため、主にデータに同時にアクセスできる複数のスレッドによってアクセス可能なデータ構造に着目しています。互いに通信する異なるプロセッサ上で動作します。並行データ構造(共有データ構造とも称される)は、共有メモリと呼ばれる抽象的な記憶環境に常駐すると考えられますが、このメモリは物理的には「密結合」または分散集合の記憶モジュールとして実装できます。