Bezpečnostní vlákno v Standardní knihovna C++
Platí následující pravidla bezpečnosti podproces pro všechny třídy v Standard C++ Library (s výjimkou shared_ptr iostream třídy a, jak je popsáno níže).
Jeden objekt je podprocesů pro čtení z více podprocesů.Například vzhledem k objektu a je bezpečné čtení a z podprocesu 1 a 2 podproces současně.
Pokud jeden objekt zapisuje jedním podprocesem pak všechny načítá a zapisuje na stejný objekt nebo jiných podprocesů musí být chráněny.Například uvedena objektu A, pokud podproces 1 zapisuje do A, potom podproces 2 musí být zabráněno čtení nebo zápisu a.
Je bezpečné pro čtení a zápis k jedné instanci typu i v případě jiného podprocesu je čtení nebo zápisu k jiné instanci stejného typu.Například dané objekty a a b stejného typu, je bezpečné a zapisuje v podprocesu 1 a b se čte v podprocesu 2.
shared_ptr
Více podprocesů současně číst a zapisovat různé shared_ptr objekty, i když jsou objekty kopií, které sdílejí vlastnictví.
Třídy iostream
Třídy iostream stejným pravidlům jako jiné třídy s jednou výjimkou.Je bezpečné zápisu na objekt z více podprocesů.Například můžete zapisovat podproces 1 cout ve stejné době jako podproces 2.Však můžete výsledkem výstup ze dvou podprocesů, přičemž vzájemně smíšené.
[!POZNÁMKA]
Čtení z vyrovnávací paměti datového proudu se nepovažuje za operace čtení.Je třeba považovat operaci zápisu, protože toto změní stav třídy.