Kilidi serbest dairesel tampon
Bir veya daha fazla veri akışına bağlayan bir sistem akışları tasarlama sürecinde yaşıyorum ve olaylar sonucu esas tetikleyici daha veri aktarımı. Tipik bir çoklu iş parçacıklı üretici/tüketici Kur, ben birden fazla yapımcı iş parçacıkları koyarak veri içine bir sıra, tüketici ve birden çok iş parçacığı okuma verileri ve tüketici tek dertleri en son veri noktası n artı puan. Yapımcı konuları yavaş tüketici uydurabilecek, bloke etmek zorunda kalacak ve tabii ki tüketici konuları işlenmemiş, güncelleştirmeleri hiçbir zaman engeller. Okuyucu kilit ile tipik eşzamanlı bir sıra kullanarak işe yarayacak ama veri geliyor oranı üretici yükü özellikle kilitleme yazar benim kilitler azaltmak istedim o kadar büyük olabilir. Kilidi serbest dairesel bir tampon ihtiyacım olan şey olduğunu düşünüyorum.
Şimdi iki sorum var:
Kilidi serbest dairesel cevabı destekliyor mu?
Bende roll önce yani, eğer, benim ihtiyacım uyacak herhangi bir ortak uygulama biliyor musunuz?
Kilidi serbest dairesel bir tampon uygulanmasında herhangi bir öneriye her zaman açığız.
BTW, Linux üzerinde C bunu yapıyor.
Bazı ek bilgiler:
Tepki süresi benim sistem için çok önemlidir. İdeal tüketici konuları herhangi bir güncelleme 1 milisaniye ekstra bir gecikme sistemi değersiz, ya da çok az değerli olabilir, çünkü en kısa sürede gelip görmek isteyecektir.
Tasarım fikri ben doğru eğilmesi yarı-kilit-ücretsiz dairesel tampon nereden yapımcı iplik koymak veri arabelleği kadar hızlı olabilir arayalım başın tampon, engelleme olmadan sürece tampon dolu, ne zaman Bir karşılar sonunda tampon Z. Tüketici konuları her iki işaretçiler tutmak için dairesel buffer, P ve P
CEVAP
Sanat terimi istediğin içinkilidi serbest sıra. Ross Bencina tarafından excellent set of notes with links to code and papers bir şey var. En Maurice Herlihy güvendiğim kişi (Amerikalılar için, ilk ismi gibi diye telaffuz ediyor "Morris").
Nasıl C dairesel bir tampon uygulamak ...
verimli dairesel tampon?...
Orada kilidi serbest sıra veya karma u...
Kilidi serbest Çoklu-işlem gerçek bir ...
Geçerli göstermek için işlevi'min...