2013-03-21 11 views
5

私は文字列辞書で動作するクラスを持っています。辞書を初期化する方法と、新しい対を辞書に追加する方法と、辞書を文字列に連結する方法があります。MS CHESSは古くなっていますか?

init-added-adding-* -adding-finalizingメソッドを別のスレッドで同時に実行して、スレッドセーフであるかどうかをテストしたいと思います。使用前にクラスの新しいインスタンスが作成され、辞書は静的ではありません。だから私は確かに、安全であれば知りたいのです。

Afaik、ユニットテストでスレッドをテストするのは良い考えではありません。代わりに、私はまったく同じ目的で設計された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

感謝優れた答え。 –

関連する問題