Seguridad para subprocesos de la biblioteca estándar de C++

Las siguientes reglas de seguridad para subprocesos se aplican a todas las clases de la biblioteca estándar de C++ (excepto clases shared_ptr y iostream, como se describe a continuación).

Un único objeto es seguro para subprocesos para leer de varios subprocesos.Por ejemplo, dado un objeto A, es seguro leer de subproceso 1 y subprocesos 2 simultáneamente.

Si un único objeto se escriben cerca de un subproceso, después todas las lecturas y escrituras con ese objeto en el mismo u otros subprocesos deben estar protegidas.Por ejemplo, dado un objeto A, si el subproceso 1 se escriba en, el subproceso 2 debe evitarse de lectura o de escritura A.

Es seguro para leer y escribir en una instancia de un tipo aunque otro subproceso es que lee o de escritura a otra instancia del mismo tipo.Por ejemplo, dados los objetos A y b del mismo tipo, es seguro si se está escribiendo en el subproceso 1 y b se está leyendo en el subproceso 2.

shared_ptr

Varios subprocesos pueden simultáneamente diferentes objetos de shared_ptr de lectura y escritura, aun cuando los objetos son copias que comparten su propiedad.

clases iostream

Las clases iostream siguen las mismas reglas que las otras clases, con una excepción.Es seguro escribir un objeto de varios subprocesos.Por ejemplo, el subproceso 1 puede escribir cout al mismo tiempo que el subproceso 2.Sin embargo, esto puede dar lugar a resultados de los subprocesos que se están intercalados.

[!NOTA]

La lectura de un búfer de la secuencia no se considera una operación de lectura.Debe considerarse como una operación de escritura, porque éste cambia el estado de la clase.

Vea también

Referencia

Información general de la biblioteca estándar de C++