次の方法で共有


concurrent_queue クラス

concurrent_queue クラスは、キューの要素に先入れ先出し方式でアクセスできるようにするシーケンス コンテナー クラスです。 これを使用すると、pushtry_pop などの特定の同時実行セーフな操作を実行できます。

template<
   typename _Ty,
   class _Ax
>
class concurrent_queue: public ::Concurrency::details::_Concurrent_queue_base_v4;

パラメーター

  • _Ty
    キューに格納される要素のデータ型。

  • _Ax
    この同時実行キューのメモリの割り当てと解放に関する詳細をカプセル化する、格納されたアロケーター オブジェクトを表す型。 このオプションを省略すると、既定値は allocator<_Ty**>** になります。

メンバー

パブリック typedef

名前

説明

allocator_type

同時実行キューのアロケーター クラスを表す型。

const_iterator

同時実行キュー内の要素に対するスレッド セーフでない const 反復子を表す型。

const_reference

同時実行キューに格納されている const 要素の読み取りと操作実行のために、const 要素への参照を提供する型。

difference_type

同時実行キュー内の 2 つの要素間の符号付き距離を提供する型。

iterator

同時実行キュー内の要素に対するスレッド セーフでない反復子を表す型。

reference

同時実行キューに格納されている要素への参照を提供する型。

size_type

同時実行キュー内の要素数をカウントする型。

value_type

同時実行キューに格納されているデータ型を表す型。

パブリック コンストラクター

名前

説明

concurrent_queue::concurrent_queue コンストラクター

オーバーロードされます。 同時実行キューを構築します。

concurrent_queue::~concurrent_queue デストラクター

同時実行キューを破棄します。

パブリック メソッド

名前

説明

concurrent_queue::clear メソッド

同時実行キューを消去し、現在キューに格納されている要素を破棄します。 このメソッドは同時実行セーフではありません。

concurrent_queue::empty メソッド

このメソッドが呼び出された時点で同時実行キューが空であったかどうかをテストします。 このメソッドは同時実行セーフです。

concurrent_queue::get_allocator メソッド

同時実行キューの構築に使用されるアロケーターのコピーを返します。 このメソッドは同時実行セーフです。

concurrent_queue::push メソッド

現在のキューの末尾にアイテムを登録します。 このメソッドは同時実行セーフです。

concurrent_queue::try_pop メソッド

アイテムがある場合は、キューから削除します。 このメソッドは同時実行セーフです。

concurrent_queue::unsafe_begin メソッド

オーバーロードされます。 同時実行キューの先頭を指す iterator 型または const_iterator 型の反復子を返します。 このメソッドは同時実行セーフではありません。

concurrent_queue::unsafe_end メソッド

オーバーロードされます。 iterator 型または const_iterator 型の反復子を同時実行キューの末尾に返します。 このメソッドは同時実行セーフではありません。

concurrent_queue::unsafe_size メソッド

キュー内のアイテム数を返します。 このメソッドは同時実行セーフではありません。

解説

詳細については、「並列コンテナーと並列オブジェクト」を参照してください。

継承階層

_Concurrent_queue_base_v4

concurrent_queue

必要条件

ヘッダー: concurrent_queue.h

名前空間: Concurrency

参照

参照

Concurrency 名前空間