Sdílet prostřednictvím


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.

Viz také

Referenční dokumentace

Standardní knihovna C++ – přehled