recursive_timed_mutex Sınıfı
Zamanlanmış bir mutex türünü temsil eder. Bu türdeki nesneler, program içinde zaman sınırlı engelleme kullanılarak karşılıklı dışlama uygulamak için kullanılır. timed_mutex türündeki nesnelerin aksine, nesneler için recursive_timed_mutex
kilitleme yöntemlerini çağırmanın etkisi iyi tanımlanmıştır.
Sözdizimi
class recursive_timed_mutex;
Üyeler
Ortak Oluşturucular
Veri Akışı Adı | Açıklama |
---|---|
recursive_timed_mutex | Kilitli olmayan bir recursive_timed_mutex nesne oluşturur. |
~recursive_timed_mutex Yıkıcı | Nesnesi tarafından recursive_timed_mutex kullanılan tüm kaynakları serbest bırakır. |
Genel Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
lock | İş parçacığı sahipliğini elde edene kadar çağıran iş parçacığını mutex engeller. |
try_lock | engelleme olmadan sahipliğini mutex elde etmeye çalışır. |
try_lock_for | Belirtilen zaman aralığı için sahipliğini mutex elde etmeye çalışır. |
try_lock_until | Belirtilen zamana kadar sahipliğini mutex elde etmeye çalışır. |
kilidi açmak | sahipliğini mutex serbest bırakır. |
Gereksinimler
Üst bilgi:<mutex>
Ad alanı: std
lock
İş parçacığı sahipliğini elde edene kadar çağıran iş parçacığını mutex
engeller.
void lock();
Açıklamalar
Çağıran iş parçacığına zaten sahipse mutex
, yöntemi hemen döndürür ve önceki kilit etkin kalır.
recursive_timed_mutex Oluşturucu
Kilitli olmayan bir recursive_timed_mutex
nesne oluşturur.
recursive_timed_mutex();
~recursive_timed_mutex Yıkıcı
Nesnesi tarafından recursive_timed_mutex
kullanılan tüm kaynakları serbest bırakır.
~recursive_timed_mutex();
Açıklamalar
Yok edici çalıştırıldığında nesne kilitliyse, davranış tanımlanmamıştır.
try_lock
engelleme olmadan sahipliğini mutex
elde etmeye çalışır.
bool try_lock() noexcept;
Dönüş Değeri
true
yöntemi veya öğesinin mutex
sahipliğini başarıyla aldıysa veya çağıran iş parçacığının zaten sahibi mutex
ise ; aksi takdirde . false
Açıklamalar
Çağıran iş parçacığı zaten sahipse mutex
, işlevi hemen döndürür true
ve önceki kilit etkin kalır.
try_lock_for
engelleme olmadan sahipliğini mutex
elde etmeye çalışır.
template <class Rep, class Period>
bool try_lock_for(const chrono::duration<Rep, Period>& Rel_time);
Parametreler
Rel_time
yönteminin sahipliğini mutex
elde etmeye çalıştığı maksimum süreyi belirten bir chrono::d uration nesnesi.
Dönüş Değeri
true
yöntemi veya öğesinin mutex
sahipliğini başarıyla alırsa veya çağıran iş parçacığı zaten mutex
sahipse ; aksi takdirde . false
Açıklamalar
Çağıran iş parçacığına zaten sahipse mutex
, yöntemi hemen döndürür true
ve önceki kilit etkin kalır.
try_lock_until
engelleme olmadan sahipliğini mutex
elde etmeye çalışır.
template <class Clock, class Duration>
bool try_lock_for(const chrono::time_point<Clock, Duration>& Abs_time);
bool try_lock_until(const xtime* Abs_time);
Parametreler
Abs_time
Yöntemin artık sahipliğini mutex
elde etmeye çalışmadığı eşiği belirten bir zaman noktası.
Dönüş Değeri
true
yöntemi veya öğesinin mutex
sahipliğini başarıyla alırsa veya çağıran iş parçacığı zaten mutex
sahipse ; aksi takdirde . false
Açıklamalar
Çağıran iş parçacığına zaten sahipse mutex
, yöntemi hemen döndürür true
ve önceki kilit etkin kalır.
kilidi açmak
sahipliğini mutex
serbest bırakır.
void unlock();
Açıklamalar
Bu yöntem yalnızca nesne üzerinde recursive_timed_mutex
lock, try_lock, try_lock_for ve try_lock_until başarıyla çağrıldıktan sonra sahipliğini mutex
serbest bırakır.
Çağıran iş parçacığı sahip mutex
değilse, davranış tanımlanmamıştır.