Aracılığıyla paylaş


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ı mutexengeller.
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 mutexserbest bırakır.

Gereksinimler

Üst bilgi:<mutex>

Ad alanı: std

lock

İş parçacığı sahipliğini elde edene kadar çağıran iş parçacığını mutexengeller.

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

trueyöntemi veya öğesinin mutex sahipliğini başarıyla aldıysa veya çağıran iş parçacığının zaten sahibi mutexise ; aksi takdirde . false

Açıklamalar

Çağıran iş parçacığı zaten sahipse mutex, işlevi hemen döndürür trueve ö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 mutexelde etmeye çalıştığı maksimum süreyi belirten bir chrono::d uration nesnesi.

Dönüş Değeri

trueyöntemi veya öğesinin mutex sahipliğini başarıyla alırsa veya çağıran iş parçacığı zaten mutexsahipse ; aksi takdirde . false

Açıklamalar

Çağıran iş parçacığına zaten sahipse mutex, yöntemi hemen döndürür trueve ö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 mutexelde etmeye çalışmadığı eşiği belirten bir zaman noktası.

Dönüş Değeri

trueyöntemi veya öğesinin mutex sahipliğini başarıyla alırsa veya çağıran iş parçacığı zaten mutexsahipse ; aksi takdirde . false

Açıklamalar

Çağıran iş parçacığına zaten sahipse mutex, yöntemi hemen döndürür trueve önceki kilit etkin kalır.

kilidi açmak

sahipliğini mutexserbest 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 mutexdeğilse, davranış tanımlanmamıştır.

Ayrıca bkz.

Üst Bilgi Dosyaları Başvurusu
<mutex>