2013-03-21 14 views
5

मेरे पास एक कक्षा है, जो स्ट्रिंग शब्दकोश के साथ काम करता है। एक विधि शब्दकोश को प्रारंभ करने के लिए है, दूसरा शब्दकोष में नई जोड़ी जोड़ने के लिए है और तीसरी विधि स्ट्रिंग में शब्दकोश को संयोजित करने के लिए है।एमएस चेस पुराना है?

मैं इकाई-परीक्षण करना चाहता हूं अगर यह थ्रेड-सुरक्षित है, इनिट-जोड़-जोड़-*-साथ-साथ अलग-अलग थ्रेड में विधियों को अंतिम रूप देने के तरीकों से। कक्षा का एक नया उदाहरण उपयोग से पहले बनाया गया है, शब्दकोश स्थिर नहीं है। तो मैं निश्चित रूप से जानना चाहता हूं, अगर यह सुरक्षित है।

अफैइक, यूनिट-टेस्ट में परीक्षण धागे का अच्छा विचार नहीं है। इसके बजाय, मुझे एक CHESS मिला, जिसे बिल्कुल उसी उद्देश्य से बनाया गया है: http://blog.decarufel.net/2009/05/how-to-test-your-multi-threaded-code.html

हालांकि, इसकी पुरानी लग रही है। इस क्षेत्र पर कोई आधुनिक विकल्प/सुझाव?

+0

के संभावित डुप्लिकेट [मैं कैसे इकाई परीक्षण पिरोया चाहिए कोड?] (Http://stackoverflow.com/questions/12159/how-should-i-unit-test-threaded-code) – marr75

उत्तर

3

एक विकल्प के रूप में, आप ConcurrentDictionary प्रकार का उपयोग करने पर एक नज़र डाल सकते हैं, जो इन विशेष बहुप्रचार संबंधी चिंताओं को दूर करेगा।

हालांकि, अगर आप अपने तंत्र का उपयोग करना जारी रखना चाहते हैं (या यदि आप बहु थ्रेडेड कोड का परीक्षण करने के सवाल के सामान्य जवाब चाहते हैं), तो यह this post से देखता है कि CHESS किसी भी तरह अप्रचलित नहीं है। अंतर्निहित तकनीक - मल्टीथ्रेडिंग - इस उपकरण को पहली बार रिलीज़ होने के बाद से मेरे ज्ञान में नहीं बदला है, इसलिए जब तक कि इसका उपयोग करने में कोई विशिष्ट समस्या न हो, तो आगे बढ़ना बिल्कुल उचित है।

+0

धन्यवाद उत्कृष्ट जवाब। –

संबंधित मुद्दे