Classe reader_writer_lock

Un blocco reader-writer basato sulla coda di preferenza writer con solo spin locale. Il blocco concede l'accesso FIFO (first in - first out) a writer e può essere dannoso per i reader in condizioni di continuo caricamento di writer.

class reader_writer_lock;

Membri

Classi pubbliche

Nome

Oggetto di descrizione

Classe reader_writer_lock::scoped_lock

Un'eccezione wrapper RAII sicuro che può essere utilizzata per acquisire oggetti di blocco reader_writer_lock come writer.

Classe reader_writer_lock::scoped_lock_read

Un'eccezione wrapper RAII sicuro che può essere utilizzata per acquisire oggetti di blocco reader_writer_lock come reader.

Costruttori pubblici

Nome

Oggetto di descrizione

Costruttore reader_writer_lock::reader_writer_lock

Costruisce un nuovo oggetto reader_writer_lock.

Distruttore reader_writer_lock::~reader_writer_lock

Elimina l'oggetto reader_writer_lock.

Metodi pubblici

Nome

Oggetto di descrizione

Metodo reader_writer_lock::lock

Acquisisce il blocco reader-writer come writer.

Metodo reader_writer_lock::lock_read

Acquisisce il blocco reader-writer come reader. Se ci sono writer, i lettori attivi devono attendere fino a quando non sono stati completati. Il reader registra semplicemente un interesse nel blocco e attende che i writer lo rilascino.

Metodo reader_writer_lock::try_lock

Tenta di acquisire il blocco reader-writer come writer senza il blocco.

Metodo reader_writer_lock::try_lock_read

Tenta di acquisire il blocco reader-writer come reader senza il blocco.

Metodo reader_writer_lock::unlock

Consente di sbloccare il blocco in lettura/scrittura in base a chi lo ha bloccato, ovvero reader o writer.

Note

Per ulteriori informazioni, vedere Strutture di dati di sincronizzazione.

Gerarchia di ereditarietà

reader_writer_lock

Requisiti

Header: concrt.h

Spazio dei nomi: Concurrency

Vedere anche

Riferimenti

Spazio dei nomi Concurrency

Classe critical_section