2017-03-28 9 views
-1
  • 私は、ファイルの転送を予定しを担当してスレッドを持っています。
  • スケジュールを転送するファイルは、XMLファイルに記述されています。これはユーザーがいつでも変更できます。
  • 私はFileSystemWatcherを作成しました。これはXMLファイルを見続ける責任があり、XMLファイルに変更があった場合に通知します(新しいスケジュール値を取得できるようにします)。このFileSystemWatcherは、_waitTillXmlChangesと呼ばれるAutoResetEventを設定して通知します。

質問:転送する予定のファイルが実行されると、私は、次の2つのいずれかの条件が満たされるまで待機状態にそのスレッドを置きたいと思う:を2つ使用WAITONE()およびそのうちの一つが設定されている場合(続行)

(A)。次のファイル転送スケジュールの日付は、

(b)です。 OR FileSystemWatcher

は、どのように私は私のファイルを2つの条件(2 AutoResetEvent待っている)の上を待っていると、それらの誰もがSet()であれば進んでスレッドを転送することができます.XMLファイルの変更について通知しましたか?

+1

使用[ 'WaitHandle.WaitAny()'](https://msdn.microsoft.com/en-us/library/tdykks7z (v = vs.110).aspx) –

+0

IMOスレッドの必要はありません。 'FileSystemWatcher'からのイベントを使用して、そのタスクに' Task <> 'でルーチンを呼び出します。ファイル転送は、タスクスケジューラを使用してすべてのウィンドウOSでスケジュールできます。 –

+0

@ m.rogalski:これは私のアプリケーションの一部に過ぎないので、実際にスレッドが必要です。実際には、.XMLファイルに何らかの変更があった場合、異なるスレッドによって異なる操作を実行する必要があります。 – skm

答えて

関連する問題