recursive_mutex Sınıfı
Bir mutex türünü temsil eder. Mutex'in aksine, zaten kilitli olan nesneler için kilitleme yöntemlerine yönelik çağrıların davranışı iyi tanımlanmıştır.
Sözdizimi
class recursive_mutex;
Üyeler
Ortak Oluşturucular
Ad | Tanım |
---|---|
recursive_mutex | Bir recursive_mutex nesne oluşturur. |
~recursive_mutex Yıkıcı | Nesnesi tarafından recursive_mutex kullanılan tüm kaynakları serbest bırakır. |
Genel Yöntemler
Ad | Tanım |
---|---|
lock | İş parçacığı mutex'in sahipliğini elde edene kadar çağıran iş parçacığını engeller. |
try_lock | Engelleme olmadan mutex sahipliğini elde etmeye çalışır. |
Kilidini | Mutex'in sahipliğini 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_mutex
Kilitli olmayan bir recursive_mutex
nesne oluşturur.
recursive_mutex();
~recursive_mutex
Nesnesi tarafından kullanılan tüm kaynakları serbest bırakır.
~recursive_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;
İade Değeri
true
yöntemi öğesinin sahipliğini mutex
başarıyla alırsa veya çağıran iş parçacığı zaten sahipse mutex**; otherwise, **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.
Kilidini
Mutex'in sahipliğini serbest bırakır.
void unlock();
Açıklamalar
Bu yöntem, yalnızca nesne üzerinde kilit ve try_lock başarıyla çağrıldıktan sonra sahipliğini mutex
serbest bırakır.recursive_mutex
Çağıran iş parçacığı sahip mutex
değilse, davranış tanımlanmamıştır.
Ayrıca bkz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin