13

Nasıl olabilir sen pratik testi (C) senkronize bir veri yapısı?Test eşzamanlı veri yapıları

parçacığı birkaç atış ve bir şey çok güvenli gelmiyor yanlış giderse onları görmek için bir süre yapıya erişim için rekabet var.

Yorumlara yanıt olarak DÜZENLEME: Yani, aynı veri kümesinde çalışan birkaç farklı iş parçacığı olduğu anlamına gelir, yani, bir tür senkronizasyon stratejisiyle (bayraklar/semaforlar/kilitsiz CAS/vb.), Büyük olasılıkla yarışı ortadan kaldırmak için koşullar ve çıkmazlar. Sorun, işçilerin doğru senkronizasyonunu programlı olarak test etmektir.

+3

Verileri, sadece kod senkronize olamaz. –

+0

http://stackoverflow.com/questions/1226779/how-to-run-concurrency-unit-test –

+1

@HansPassant: Muhtemelen, veri yapısının, iş parçacığı için güvenli olması amaçlanan yöntemleri vardır. –

cevap

4

kimse gerçekten% 100 güvenilirliği ile bunu bilir. Here eşzamanlılık hataları bulmak için bir test aracının sadece bir örnektir.

+0

Link vermekte olduğunuz kağıda hoş geliyor ve ilginç bir ideea sunuyor, ancak kullandığım yazılıma herhangi bir link bulamadım. Belki bir bağlantı sırayla olabilir? –

+1

Burada http://research.microsoft.com/en-us/projects/chess/ – markgz

+0

Bu veya benzeri araçların diğer ortamlar için herhangi bir şansı, ör. Python? –

İlgili konular