Classe concurrent_queue

La classe concurrent_queue è una classe contenitore di sequenze che consente l'accesso di tipo First-in First-out ai relativi elementi. Abilita un set limitato di operazioni sicure per concorrenza, quali push e try_pop, per citarne alcune.

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

Parametri

  • _Ty
    Tipo di dati degli elementi da archiviare nella coda.

  • _Ax
    Tipo rappresentante l'oggetto dell'allocatore memorizzato che include i dettagli sull'allocazione e sulla deallocazione di memoria per tale coda simultanea. Questo argomento è facoltativo e il valore predefinito è allocator<_Ty**>**.

Membri

Typedef pubblici

Nome

Oggetto di descrizione

allocator_type

Tipo che rappresenta la classe dell'allocatore per la coda simultanea.

const_iterator

Un tipo che rappresenta un iteratore const non thread-safe su elementi in una coda simultanea.

const_reference

Un tipo che fornisce un riferimento all'elemento const archiviato in una coda simultanea per la lettura e l'esecuzione di operazioni const.

difference_type

Un tipo che fornisce la distanza con segno tra due elementi in una coda simultanea.

iterator

Un tipo che rappresenta un iteratore non thread-safe sugli elementi in una coda simultanea.

reference

Un tipo che fornisce un riferimento a un elemento archiviato in una coda simultanea.

size_type

Un tipo che conta il numero di elementi in una coda simultanea.

value_type

Un tipo che rappresenta il tipo di dati archiviati nella coda simultanea.

Costruttori pubblici

Nome

Oggetto di descrizione

Costruttore concurrent_queue::concurrent_queue

Metodo di overload. Costruisce una coda simultanea.

Distruttore concurrent_queue::~concurrent_queue

Distrugge la coda simultanea.

Metodi pubblici

Nome

Oggetto di descrizione

Metodo concurrent_queue::clear

Cancella la coda simultanea, distruggendo qualsiasi elemento attualmente in coda. Tale metodo non è sicuro per concorrenza.

Metodo concurrent_queue::empty

Consente di testare se la coda simultanea è vuota al momento che questo metodo viene chiamato. Tale metodo è sicuro per concorrenza.

Metodo concurrent_queue::get_allocator

Consente di restituire una copia dell'allocatore utilizzato per costruire la coda simultanea. Tale metodo è sicuro per concorrenza.

Metodo concurrent_queue::push

Inserisce in coda un elemento nella parte finale della coda simultanea. Tale metodo è sicuro per concorrenza.

Metodo concurrent_queue::try_pop

Rimuove un elemento dalla coda se disponibile. Tale metodo è sicuro per concorrenza.

Metodo concurrent_queue::unsafe_begin

Metodo di overload. Consente di restituire un iteratore di tipo iterator o const_iterator all'inizio della coda simultanea. Tale metodo non è sicuro per concorrenza.

Metodo concurrent_queue::unsafe_end

Metodo di overload. Consente di restituire un iteratore di tipo iterator o const_iterator alla fine della coda simultanea. Tale metodo non è sicuro per concorrenza.

Metodo concurrent_queue::unsafe_size

Restituisce il numero di elementi nella coda. Tale metodo non è sicuro per concorrenza.

Note

Per ulteriori informazioni, vedere Contenitori e oggetti paralleli.

Gerarchia di ereditarietà

_Concurrent_queue_base_v4

concurrent_queue

Requisiti

Header: concurrent_queue.h

Spazio dei nomi: Concurrency

Vedere anche

Riferimenti

Spazio dei nomi Concurrency