Condividi tramite


Classe combinable

L'oggetto combinable<T> ha lo scopo di fornire copie di dati di thread privato, per eseguire calcoli secondari locali per thread senza blocco durante algoritmi paralleli. Alla fine dell'operazione parallela, è possibile unire i sub-calcoli del thread privato in un risultato finale. Questa classe è utilizzabile al posto di una variabile condivisa e può comportare un miglioramento nelle prestazioni qualora vi fosse in caso contrario molto conflitto su tale variabile condivisa.

template<
   typename _Ty
>
class combinable;

Parametri

  • _Ty
    Tipo di dati del risultato finale unito. Il tipo deve disporre di un costruttore di copia e di un costruttore predefinito.

Membri

Costruttori pubblici

Nome

Oggetto di descrizione

Costruttore combinable::combinable

Metodo di overload. Costruisce un nuovo oggetto combinable.

Distruttore combinable::~combinable

Elimina un oggetto combinable.

Metodi pubblici

Nome

Oggetto di descrizione

Metodo combinable::clear

Cancella ogni risultato computazionali intermedio da un utilizzo precedente.

Metodo combinable::combine

Calcola un valore finale dal set di sub-calcoli del thread locale chiamando il funtore combinato fornito.

Metodo combinable::combine_each

Calcola un valore finale dal set di sub-calcoli del thread locale chiamando una volta il funtore combinato fornito per il sub-calcolo del thread locale. Il risultato finale viene accumulato dall'oggetto funzione.

Metodo combinable::local

Metodo di overload. Consente di restituire un riferimento al calcolo secondario del thread privato.

Operatori pubblici

Nome

Oggetto di descrizione

Operatore combinable::operator=

Assegna a un oggetto combinable da un altro oggetto combinable object.

Note

Per ulteriori informazioni, vedere Contenitori e oggetti paralleli.

Gerarchia di ereditarietà

combinabile

Requisiti

Header: ppl.h

Spazio dei nomi: Concurrency

Vedere anche

Riferimenti

Spazio dei nomi Concurrency