-1
  • 我有一个负责计划传输文件的线程。
  • 文件传输计划在 XML 文件中提及,用户可以随时更改。
  • 我创建了一个FileSystemWatcher,它负责持续监视 XML 文件并通知 XML 文件是否有任何更改(以便我们可以获得新的计划值)。这通过设置一个被调用FileSystemWatcher来通知。AutoResetEvent_waitTillXmlChanges

问题:一旦计划的文件传输完成,我想将该线程置于等待状态,直到满足以下两个条件之一:

(一个)。到达下一个文件传输计划日期

(b)。或FileSystemWatcher已通知 .XML 文件的更改

如何让我的文件传输线程等待以上两个条件(两个AutoResetEvent等待)并在其中任何一个条件下继续Set()

4

1 回答 1

3

您可以使用WaitHandle.WaitAny(handles),如此处所述:https ://msdn.microsoft.com/en-us/library/tdykks7z(v=vs.110).aspx

int eventNr = WaitHandle.WaitAny(new WaitHandle[]{autoResetEvent1, autoResetEvent2});
于 2017-03-28T08:29:49.360 回答