менное снятие блокировки // с
Автор admin
Четверг, 25 июня 2009 11:32
менное снятие блокировки // с использованием другого стража. //{L} ZThread #include “zthread/Thread.h” #include “zthread/Mutex.h” #include “zthread/Guard.h” using namespace ZThread; class TemporaryUnlocking { Mutex lock; public: void f() { Guard g(lock); // Установление блокировки // … { Guard h(g); // Снятие блокировки // … // Установление блокировки } // … // Снятие блокировки } }: int mainO { TemporaryUnlocking t; t.f(): } III:- Объекты Guard также могут использоваться, чтобы попытаться установить блокировку в течение заданного промежутка времени: //: Cll:TimedLocking.cpp // Попытки установления блокировки // в течение заданного интервала. //{L} ZThread #include “zthread/Thread.h” #include “zthread/Mutex.h” 556 Глава 11 • Многопоточное программирование #include “zthread/Guard.h” using namespace ZThread; class TimedLocking { Mutex lock: public: void f() { Guard > g(lock): // … } }: int mainO { TimedLocking t: t.f(): } ///:- Если в данном примере не удастся установить блокировку в течение 500 мс, запускается исключение Timeout_Exceptio
Комментарии закрыты.
Последние комментарии