2011-01-11 12 views
14

Konuyla ilgili herhangi bir bilginiz var mı? Boost :: shared_mutex özellikle ve okuyucu-yazar muteksleri ile herhangi bir sorun var mı? Okuyucu-yazar muteks, örn. Sık sık yazar kilitleri, basit muteks ile karşılaştırıldığında bile performansı azaltır. Ancak, birçok okuyucunun genellikle yazar tarafından gerçekten değiştirilebilecek bir paylaşılan kaynak gerektirdiği birçok durum var.neden C++ 0x standart komitesi destekledi :: shared_mutex?

+8

C++ 14'te kabul edilir. // tr: http://en.cppreference.com/w/cpp/thread/shared_mutex veya http://en.wikipedia.org/wiki/C++14 – Tom

+1

Bkz yorumunda Yukarıdaki bağlantı http olmalıdır. cppreference.com/w/cpp/thread/shared_timed_mutex ('std :: shared_mutex', C++ 14'ün parçası olmayan, ancak C++ 17'de olacak daha basit bir türdür). –

cevap

12
Anthony Williams, C++ standartlar komitesinin etkili bir üyesidir. Konu kütüphanesinin C++ 11 Standardına dahil edilmesine yol açan tekliflerin çoğunu birlikte yazdı. İtirazlarını this commentary'da okuyabilirsiniz. Yine de, C++ 17 haline getirdi.
+1

N.B. "boost :: shared_mutex" eşdeğeri, C++ 14'e dönüştürdü, ancak "shared_timed_mutex" olarak yeniden adlandırıldı. C++ 17 aynı olan 'shared_mutex' eklemek, ancak olacaktır (mutex' /' timed_mutex' ve 'recursive_mutex'/'recursive_timed_mutex'' analog) zamana bağlı bir bekleme fonksiyonları olmayan. –

10

Hans tarafından atıfta bulunulan mail numaralı belgede anlatıldığı gibi, shared_mutex ile ilgili sorun yüksek yüküdür. Bu nedenle, shared_mutex, kaynakların uzun bir süre tutulduğu zaman sadece bir fayda sağlar ve kaynaklar için çok az sayıda konu rekabet eder ve bu da çok nadirdir.

Sorun hakkında başka bir detailed article buldum.

İlgili konular