Bir koşul değişkeni kullanmanın tipik yolu:Kontrol edilen değeri atomik olarak değiştiriyorsanız durum değişkenlerinin hala bir muteks'e ihtiyacı var mı?
// The reader(s)
lock(some_mutex);
if(protected_by_mutex_var != desired_value)
some_condition.wait(some_mutex);
unlock(some_mutex);
// The writer
lock(some_mutex);
protected_by_mutex_var = desired_value;
unlock(some_mutex);
some_condition.notify_all();
Ancak korumalı_by_mutex_var, atomik olarak bir karşılaştırma ve takas talimatı ile ayarlanmışsa, muteks herhangi bir amaca hizmet eder (pthreads ve diğer API'ler dışında) bir mutekste geçmenizi gerektirir)? Durumu uygulamak için kullanılan devleti koruyor mu? Değilse, bunu yapmak güvenli midir ?:
// The writer
atomic_set(protected_by_mutex_var, desired_value);
some_condition.notify_all();
Yazar asla okuyucunun muteksi ile doğrudan etkileşime girmiyor mu? 'Protected_by_mutex_var' adının artık gerçekten uygun olmadığını unutmayın (artık mutex korumalı değil). Eğer öyleyse, farklı okuyucuların aynı muteksleri kullanması bile gerekli midir?
durum değişkenlerinin bütün mesele onlar nesnenin kilidini, yüklemi kontrol" yapmalarıdır ve yapar kullanma
uyu atomik. –