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?
cevap
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. –
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.
- 1. C++ (0x)
- 2. Neden C++ 0x rvalue başvurusu varsayılan değil?
- 3. C++ 0x: Standart algoritmalar için aralık aşırı yükleri?
- 4. C++ 0x numaralandırma karşılaştırması yazılır
- 5. BOOST: recursive shared_mutex?
- 6. Bekleme C++ 0x iş parçacığı nasıl kesilir?
- 7. C++ 0x destekleyen en az iOS sürümü
- 8. asenkron işlev çağrısı C++ 0x
- 9. Boost lambda :: _ 1, C++ 0x
- 10. Neden C++ 0x rvalue başvurusu için ileri tanımda kimlik kullanılır?
- 11. g ++ ve C++ 0x belirtim desteği
- 12. C++ 0x başvuru çökmesi hakkında soru
- 13. C++ 0x Tuples Elements Öğeleri Geriye doğru
- 14. Standartlar komitesi, göz önünde bulundurulan bir belgenin durumunu nasıl gösterir?
- 15. Standart bağlayıcı ayar
- 16. C++ 0x variadic template başvuruya göre geçer
- 17. Hastalanmış C++ 0x kodu veya derleyici hata?
- 18. Şablonlar, İşlev İşaretçiler ve C++ 0x
- 19. C++ 0x şablon işlev nesnesi çıkarsama
- 20. C++ 0x lambda, nasıl parametre olarak geçebilirim?
- 21. C++ 0x decltype ve kapsam çözünürlük operatörü
- 22. Nasıl C++ 0x ile autoconf'u kullanmak özellikleri
- 23. C++ 0x raw string literal nasıl uygulanır?
- 24. C++ 0x: lambda arkı üzerine aşırı yükleme
- 25. Intel standart kitaplığı (C++)
- 26. namelookup: ISO C++ Taslak n3290 gelen C++ 0x taslak n3290
- 27. C++ 0x Akıllı İşaretçi Karşılaştırmaları: Tutarsız, mantık nedir?
- 28. vaka tablolara Elipses Are standart C/C++
- 29. Standart çıktıya yazarken WriteFile neden çöküyor?
- 30. C#: Dize, standart tarih formatı
C++ 14'te kabul edilir. // tr: http://en.cppreference.com/w/cpp/thread/shared_mutex veya http://en.wikipedia.org/wiki/C++14 – Tom
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). –