SORU
18 Temmuz 2011, PAZARTESİ


::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
18 Temmuz 2011, PAZARTESİ


İ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.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Damien Hayes

    Damien Hayes

    11 Mart 2008
  • rtisticsdev

    rtisticsdev

    31 Mayıs 2012
  • whiteboy7thst

    whiteboy7ths

    1 Temmuz 2009