Ne kadar paylaşılan bellek vs mesaj geçerek, büyük veri yapıları ele?eşzamanlılık:
Git ve Ayrık yaklaşımı eşzamanlılık bakıldığında, her ikisi de mesajı geçen güveniyor fark ettim.
Bu yaklaşım, paylaşılan durum yok çünkü belli ki karmaşık kilitleri ihtiyacını azaltır.
Ancak, birçok müşteri paralel isteyen gözönüne salt okunur soneki bir dizi gibi hafıza -- tek ve büyük bir veri yapısı erişim.
Soru:
Paylaşılan durum kullanarak daha hızlı ve kilitleri çoğunlukla verileri salt okunur olduğundan gereksiz olacak gibi ileti gönderme daha az bellek kullanımı, ve sadece tek bir konumda bulunması gerekiyor?
Bu sorunu nasıl bir mesaj içeriği geçerken yaklaştı olurdu? Veri yapısı erişim ve müşterilerine sadece sırayla gerekir ondan talep verileri tek bir işlem var mı? Ya da, eğer mümkünse, veri parçalarını tutmak için birkaç süreçleri oluşturmak için yığın halinde olurdu?
Verilen mimarisinin modern CPU ve bellek var, çok fark arasındaki iki çözüm -- yani, paylaşılan bellek read paralel çoklu çekirdek -- anlamı yok donanım darboğaz bunun aksini yapmak hem uygulamaları gerçekleştirmek kabaca aynı mı?
CEVAP
Fark için bir şey Ayrık eşzamanlılık modeli yapmasıdırDEĞİLmesaj verileri işlemler arasında kopyalanmalıdır belirtin, mesaj gönderme, iletişim kurmak için tek yol olduğunu ve paylaşılan durum yok devletler. Tüm veriler sabit olduğu içintemel, o zaman uygulaması çok iyi verileri kopyala ama sadece bir başvuru gönderebilir. Ya da kullanabilirsiniz, her iki yöntem bir arada. Her zaman olduğu gibi, hiç yokiyiçözüm ve ticaret-off yapmak için nasıl seçerken yapılacak.
IŞIN kopyalama, bir başvuru gönderir büyük ikili dışında kullanır.
.NET veri yapıları: ArrayList, her ne ...
Ne kadar büyük bir veri kümesi (angula...
Ne kadar büyük R tekrarlanabilir bir ö...
"Büyük veri" iş akışı pandal...
Temel veri yapıları Redis ne için kull...