メインスレッドでタイマーを開始するWindowsサービスがあります。タイマーの仕事は、xmlファイルをメモリにロードし、値に対していくつかの処理を実行し、結果をファイルに保存することです。たとえば、処理には10分かかる場合があります。(この操作をAと呼びましょう)
また、xmlファイルを更新する同じサービスでWCFを介して生成されるスレッドもあります。(この操作をBと呼びましょう)
何が起こっているのかというと、オペレーションAが実行され、オペレーションAが完了する前にオペレーションBが完了するまで実行されます。その結果、操作Aは、操作Bが完了したすべての作業を上書きします。
だから私がする必要があると思うことは:
オペレーションAの開始時にオペレーションBが実行されている場合は、オペレーションBが完了するのを待ってから、オペレーションAを実行します。
オペレーションBが開始されたとき、オペレーションAが実行されている場合は、オペレーションAが完了するのを待ってから、オペレーションBを実行します。
これができれば問題ないと思います。
これが理にかなっていることを願っています-私の待機理論はこれを行うための最良の方法ですか?どうすればC#(または最良の方法)でこれを行うことができますか?
ありがとうダモ