フェニックスの競合状態をテストしたい場合(たとえば、競合のないシーケンス生成を同時に処理する2つのレコードを同時に挿入する場合など)、これを処理する最善の方法は何でしょうか?フェニックスの競合状態のテスト
どのようにして確実に衝突させることができますか?
フェニックスの競合状態をテストしたい場合(たとえば、競合のないシーケンス生成を同時に処理する2つのレコードを同時に挿入する場合など)、これを処理する最善の方法は何でしょうか?フェニックスの競合状態のテスト
どのようにして確実に衝突させることができますか?
あなたは罰のための大暴れです、私の友人。
残念ながら、ほとんどの言語はもちろんのこと、競合状態Erlangを再現するツールはありません。通常は、最も近いのはHelgrind for C/C++とChess for C#/C++のような検出ソフトウェアです。
フォローthis advice from the Programming StackExchange site:
テストで競合状態をトリガするためには良い一般的な方法はありません。
あなたのシステムからそれらを完全に設計することが唯一の希望です。
誰かが1人で詰まっていることが分かった場合は、 を彼に賭けて、それを取り除くために再設計する必要があります。 があなたのシステムから彼の偽のパ(f ***と発音する)をデザインした後、 は彼をアリから解放することができます。 (蟻がすでに 彼を消費している場合は、骨だけを残して、「これは!XYZプロジェクトにレースの条件を入れて 人々に何が起こるかである」とTHERE 彼を残し言って看板を設置。)
だから、それはですTask.asyncの束のようなものを回転させ、いくつかの競合が起きることを期待することも、非現実的です。 –
はい。システムをどのように設計して、それらの状態が最初から起こるのを防ぐことができるかを理解する方がよいでしょう。 – fny