Biblioteki C/C++
lock_guard
[szablon klasy] Uproszczony szablon sekcji krytycznej o ograniczonym zasięgu.Składnia
#include <boost/thread/locks.hpp>
namespace boost
{
template < typename Lockable >
class lock_guard
{
};
}
Opis szczegółowy
Służy do zakładania sekcji krytycznej o ograniczonym zasięgu. Sekcja krytyczna jest zwalniana w chwili gdy zmienna utworzona za pomocą szablonu
boost::lock_guard
przestaje istnieć. Niniejszy szablon reprezentuje koncepcję wzorca projektowego
RAII.
Klasa przekazana jako parametr szablonu musi spełniać
koncepcję Lockable.
Szablon nie jest bezpieczny w programowaniu współbieżnym - bezpieczeństwo musi zapewniać klasa przekazywana jako parametr szablonu.
Metody
Przykład
#include <boost/thread/mutex.hpp>
#include <stack>
boost::mutex cs;
std::stack < int > liczby;
{
boost::lock_guard < boost::mutex > sekcjaKrytyczna( cs );
liczby.push( 123 );
}
Zagadnienia powiązane
Kursy |
---|
RAII | Gwarantuje prawidłowe zwolnienie przejętych zasobów. (wzorzec projektowy) |
---|
Linki zewnętrzne
Wykaz elementów dowiązanych
Wszystkie teksty są chronione prawami autorskimi. Kopiowanie lub rozpowszechnianie treści poza niniejszym serwisem
jest zabronione.
Powyższe ograniczenie nie dotyczy autora opracowania, któremu przysługuje prawo do rozpowszechniania własnego tekstu wedle własnego uznania.