Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Opracował: Piotr DejaVu Szawdyński
Biblioteki C/C++

lock_guard

[szablon klasy] Uproszczony szablon » Dokumentacjasekcji krytycznej o ograniczonym zasięgu.

Składnia

C/C++
#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 » Wzorce projektowe » Wzorce kreacyjneRAII wzorzec projektowy.

Klasa przekazana jako parametr szablonu musi spełniać » boost / threadkoncepcję Lockable.

Szablon nie jest bezpieczny w programowaniu współbieżnym - bezpieczeństwo musi zapewniać klasa przekazywana jako parametr szablonu.

Metody

lock_guardKonstruktor. (konstruktor)
~lock_guardDestruktor. (destruktor)

Przykład

C/C++
#include <boost/thread/mutex.hpp>
#include <stack>
//...
boost::mutex cs;
std::stack < int > liczby;
//...
{
    boost::lock_guard < boost::mutex > sekcjaKrytyczna( cs );
    liczby.push( 123 );
} //automatyczne zwolnienie sekcji krytycznej
//...

Zagadnienia powiązane

Dokumentacja
unique_lockRozbudowany szablon » Dokumentacjasekcji krytycznej o ograniczonym zasięgu. (szablon klasy)
koncepcja LockableModel klasy, który posiada implementację określonych metod. (pojęcie)

Kursy
RAIIGwarantuje prawidłowe zwolnienie przejętych zasobów. (wzorzec projektowy)

Linki zewnętrzne

Wykaz elementów dowiązanych

lock_guard Konstruktor. (konstruktor)
~lock_guard Destruktor. (destruktor)