我有一个Windows服务,在主线程上启动一个计时器。定时器的工作是将xml文件加载到内存中,对值进行一些处理并将结果保存回文件。例如,处理过程可能需要10分钟。 (让我们称这个操作为A)主线程计时器Vs线程
我也有一个线程可以通过WCF在同一个更新xml文件的服务上产生。 (让我们称这个操作为B)
发生了什么事是操作A正在运行并且操作B在操作A完成之前运行完成。最终结果是操作A覆盖操作B完成的所有工作。
所以我想我需要做的是:
当操作A开始,如果操作B正在运行,等待 操作B到完成再执行操作A
当动作B开始,如果操作的运行,等待 操作的完成再执行操作B
如果我能做到这一点,我不会有我想的问题。
我希望这是有道理的 - 我的等待理论是做这件事的最好方法吗?我怎样才能做到这一点在C#(或任何最好的方法是)?
感谢 达摩
使用[互斥](http://msdn.microsoft.com/zh-cn/library/system.threading.mutex.aspx )。 – prprcupofcoffee
不错之前从来没有用过那个。 – meanbunny