C#ライブラリの時限アクション
-
09-10-2019 - |
質問
一連のアクション、つまりシーケンスを可能にするC#ライブラリを知っていますか。特定の時間間隔が発生した後、前のアクションが実行されたときに実行されます。
ありがとうございました。
解決
見る http://msdn.microsoft.com/en-us/library/dd537609.aspx
task.continuewithメソッドでは、先行タスクが完了したときに起動するタスクを指定できます。
例
var task = Task.Factory.StartNew(() => GetFileData())
.ContinueWith((x) => Analyze(x.Result))
.ContinueWith((y) => Summarize(y.Result));
他のヒント
タイミングのために試してみてください Quartz.net. 。アクションを同期するには、例えば使用してください。イベント、 ウェイトハンドル, Monitor.Wait()
と Monitor.Pulse()
...
それ以外の場合は、一連のアクションを処理できます。
var methods = new List<Func>
{
FooMethod1,
FooMethod2
}
foreach (var method in methods)
{
method.Invoke();
}
しかし、これは理にかなっています。モデレーターメソッド(シーケンシャル処理)がない場合、またはメソッドがお互いについて知らない場合にのみ理にかなっています。
スケジュールされたタスクについては、Cronジョブをサポートするライブラリを探しています。これが私がプロジェクトで使用したものです。
http://blog.bobcravens.com/2009/10/an-event-cron-scheduled-job-in-c/
多くのライブラリが存在します。多くの人がリッチで少し重いことがわかりました。
お役に立てれば。
ボブ
所属していません StackOverflow