Freigeben über


combinable-Klasse

Das combinable<T>-Objekt ist dazu gedacht, threadprivate Kopien von Daten bereitzustellen, mit denen sperrenfreie, threadlokale Unterberechnungen in parallelen Algorithmen durchgeführt werden können. Am Ende der Paralleloperation können die privaten Unterberechnungen im Thread in einem Endergebnis zusammengeführt werden. Diese Klasse kann statt einer freigegebenen Variable verwendet werden, und kann zu einer Leistungsverbesserung führen, wenn es andernfalls viel Konflikt mit dieser freigegebenen Variable geben würde.

template<
   typename _Ty
>
class combinable;

Parameter

  • _Ty
    Der Datentyp des endgültigen zusammengeführten Ergebnisses. Der Typ muss über einen Kopier- und einen Standardkonstruktor verfügen.

Member

Öffentliche Konstruktoren

Name

Beschreibungen

combinable::combinable-Konstruktor

Überladen. Erstellt ein neues combinable-Objekt.

combinable::~combinable-Destruktor

Zerstört ein combinable-Objekt.

Öffentliche Methoden

Name

Beschreibungen

combinable::clear-Methode

Löscht alle berechneten Zwischenergebnisse aus einer vorherigen Verwendung.

combinable::combine-Methode

Berechnet einen endgültigen Wert aus dem Satz lokaler Unterberechnungen im Thread, indem die bereitgestellte combine-Funktion aufgerufen wird.

combinable::combine_each-Methode

Berechnet einen endgültigen Wert aus dem Satz lokaler Unterberechnungen im Thread, indem die bereitgestellte combine-Funktion einmal für jede lokale Unterberechnung im Thread aufgerufen wird. Das Endergebnis wird vom Funktionsobjekt akkumuliert.

combinable::local-Methode

Überladen. Gibt einen Verweis auf die private Unterberechnung in einem Thread zurück.

Öffentliche Operatoren

Name

Beschreibungen

combinable::operator=-Operator

Weist einem combinable-Objekt von einem anderen combinable-Objekt zu.

Hinweise

Weitere Informationen finden Sie unter Parallele Container und Objekte.

Vererbungshierarchie

combinable

Anforderungen

Header: ppl.h

Namespace: Concurrency

Siehe auch

Referenz

Concurrency-Namespace