Freigeben über


concurrent_queue-Klasse

Die concurrent_queue-Klasse ist eine Sequenzcontainerklasse, die First In, First Out-Zugriff auf ihre Elemente zulässt. Aktiviert einen beschränkten Satz von parallelitätssicheren Operationen, z. B. push und try_pop.

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

Parameter

  • _Ty
    Der Datentyp der Elemente, die in der Warteschlange gespeichert werden sollen.

  • _Ax
    Der Typ, der das gespeicherte Zuordnungsobjekt darstellt, das Details zur Zuordnung und zur Freigabe des Arbeitsspeichers für diese Parallelwarteschlange kapselt. Dieses Argument ist optional, und der Standardwert ist allocator<_Ty**>**.

Member

Öffentliche Typedefs

Name

Beschreibungen

allocator_type

Ein Typ, der die Belegungsfunktionsklasse für die gleichzeitige Warteschlange darstellt.

const_iterator

Ein Typ, der einen nicht threadsicheren const-Iterator über Elemente in einer gleichzeitigen Warteschlange darstellt.

const_reference

Ein Typ, der einen Verweis auf ein const-Element bereitstellt, das in einer gleichzeitigen Lesewarteschlange gespeichert ist und const-Operationen durchführt.

difference_type

Ein Typ, der die vorzeichenbehaftete Entfernung zwischen zwei Elementen in einer gleichzeitigen Warteschlange bereitstellt.

iterator

Ein Typ, der einen nicht threadsicheren Iterator über die Elemente in einer gleichzeitigen Warteschlange darstellt.

reference

Ein Typ, der einen Verweis auf ein Element in einer gleichzeitigen Warteschlange bereitstellt.

size_type

Ein Typ, der die Anzahl von Elementen in einer gleichzeitigen Warteschlange angibt.

value_type

Ein Typ, der den in einer gleichzeitigen Warteschlange gespeicherten Datentyp darstellt.

Öffentliche Konstruktoren

Name

Beschreibungen

concurrent_queue::concurrent_queue-Konstruktor

Überladen. Erstellt eine gleichzeitige Warteschlange.

concurrent_queue::~concurrent_queue-Destruktor

Zerstört die gleichzeitige Warteschlange.

Öffentliche Methoden

Name

Beschreibungen

concurrent_queue::clear-Methode

Löscht die gleichzeitige Warteschlange und zerstört alle gerade in der Warteschlange vorhandenen Elemente. Diese Methode ist nicht parallelitätssicher.

concurrent_queue::empty-Methode

Testet, ob die gleichzeitige Warteschlange beim Aufruf dieser Methode leer ist. Diese Methode ist parallelitätssicher.

concurrent_queue::get_allocator-Methode

Gibt eine Kopie der Belegungsfunktion zurück, die verwendet wurde, um die parallele Warteschlange zu erstellen. Diese Methode ist parallelitätssicher.

concurrent_queue::push-Methode

Enqueues ein Element am Ende der gleichzeitigen Warteschlange. Diese Methode ist parallelitätssicher.

concurrent_queue::try_pop-Methode

Entfernt ein Element aus der Warteschlange, sofern vorhanden. Diese Methode ist parallelitätssicher.

concurrent_queue::unsafe_begin-Methode

Überladen. Gibt einen Iterator vom Typ iterator oder const_iterator zum Anfang der gleichzeitigen Warteschlange zurück. Diese Methode ist nicht parallelitätssicher.

concurrent_queue::unsafe_end-Methode

Überladen. Gibt einen Iterator vom Typ iterator oder const_iterator zum Ende der gleichzeitigen Warteschlange zurück. Diese Methode ist nicht parallelitätssicher.

concurrent_queue::unsafe_size-Methode

Gibt die Anzahl der Elemente in der Warteschlange zurück. Diese Methode ist nicht parallelitätssicher.

Hinweise

Weitere Informationen finden Sie unter Parallele Container und Objekte.

Vererbungshierarchie

_Concurrent_queue_base_v4

concurrent_queue

Anforderungen

Header: concurrent_queue.h

Namespace: Concurrency

Siehe auch

Referenz

Concurrency-Namespace