::unique_lock boost vs boost::lock_guard
Peki farkı bu iki kilit sınıflar arası anlayamıyorum.
Belgeler artırmak, boost::unique_lock
kilit otomatik fark etmez dedi.
unique_lock
lock_guard
arasındaki temel fark unique_lock
açıkça lock()
fonksiyonu çağırmalıyız olduğu anlamına mı geliyor ?
CEVAP
İlk Sorunuzun cevabı. Bir unique_lock kilit aramana gerek yok. Aşağıya bakın:
Bu unique_lock daha fazla özellik ile sadece kilit bir sınıftır. Çoğu durumda lock_guard ne istiyorsun ve yeterli olacaktır.
Bu unique_lock size sunmak için daha fazla özellik vardır. E. g eğer bir zaman aşımı ihtiyacınız varsa ya da eğer nesne inşaat daha sonra bir noktaya kilidi ertelemek istiyorsan bekle uğradı. Bunu çok yapmak istediğiniz ne bağlıdır.
BTW: aşağıdaki kod parçacıkları aynı şeyi yapmak.
boost::mutex mutex;
boost::lock_guard<boost::mutex> lock(mutex);
boost::mutex mutex;
boost::unique_lock<boost::mutex> lock(mutex);
İlk veri erişimi eşitlemek için kullanılır, ama eğer durum değişkenleri kullanmak istiyorsanız ikincisi için gitmek gerekir.
Nasıl Boost ulaşmak için kullanılan C ...
UUID nesil örnekte Boost kullanarak C ...
Nasıl CMakeLists.txt içinde boost kütü...
Boost.* Tabanlı HTTP istemci Kütüphane...
hesaplamak ve C boost kullanarak örnek...