concurrent_priority_queue 類別
concurrent_priority_queue 類別允許多個執行緒同時推入和移除項目。 項目會以優先權順序做為移除依據,而優先權由函子提供的樣板引數決定。
template <
typename _Ty,
typename _Compare=std::less<_Ty>,
typename _Ax = std::allocator<_Ty>
>
, typename _Ax = std::allocator<_Ty> > class concurrent_priority_queue;
參數
_Ty
要儲存在優先權佇列中的資料類型。_Compare
可以比較兩個項目值做為排序鍵判斷其在優先權佇列中相對順序的函示物件的型別。 這個引數是選擇性的,而且二進位述詞 less<_Ty**>** 是預設值。_Ax
代表預存配置器物件,此物件會封裝有關配置和解除配置並行優先權佇列之記憶體的詳細資訊的類型。 此引數是選擇性的,而且預設值是 allocator<_Ty**>**。
成員
公用 Typedefs
名稱 |
說明 |
---|---|
allocator_type |
代表並行優先權佇列的配置器類別的型別。 |
const_reference |
表示這個型別的項目的常數參考的型別在一個同時優先權佇列儲存。 |
reference |
表示這個型別的項目的參考的型別在一個同時優先權佇列儲存。 |
size_type |
會計算並行優先權佇列中的項目數量的型別。 |
value_type |
代表存放在並行優先權佇列中的資料類型的型別。 |
公用建構函式
名稱 |
說明 |
---|---|
多載。 建構並行優先權佇列。 |
公用方法
名稱 |
說明 |
---|---|
會清除並行優先權中的所有項目。 這個方法不是並行安全的。 |
|
測試呼叫此方法時並行優先權佇列是否是空的。 這個方法是並行安全的。 |
|
傳回用來建構並行優先權佇列配置器的複本。 這個方法是並行安全的。 |
|
多載。 將項目加入至同時優先權佇列。 這個方法是並行安全的。 |
|
傳回目前在並行優先權佇列中的項目數目。 這個方法是並行安全的。 |
|
交換兩個同時優先權佇列內容。 這個方法不是並行安全的。 |
|
如果佇列不是空的,並傳回佇列中最高優先權的項目。 這個方法是並行安全的。 |
公用運算子
名稱 |
說明 |
---|---|
多載。 將另一個 concurrent_priority_queue 物件的內容指派給這一個。 這個方法不是並行安全的。 |
備註
如需關於 concurrent_priority_queue 類別的詳細資訊,請參閱 平行容器和物件。
繼承階層
concurrent_priority_queue
需求
標頭: concurrent_priority_queue.h
**命名空間:**concurrency