0

親スレッドが複数のタスク/ジョブ スレッドを生成するシナリオがあります (他の誰かによって行われます)。最後に、ジョブ スレッドとは関係のない追加のタスクを 1 つ実行する必要があります。

私が必要としているのは、この新しいタスク (削除サーバー上のファイルの存在を確認する) を一定時間、つまり最大 30 分間実行し、一定の間隔で、つまり 2 分ごとにプロセスを繰り返すことです。条件は満たしています。確認が成功した場合、メイン スレッドに戻る必要があります (親 -- 親スレッドは、終了する前にこの特定のタスクが終了するのを待つ必要があります)。

この場合にスレッドが必要な場合でも、私はC#マルチスレッドに非常に慣れていません。それで、誰かが私にガイダンスを与えることができますか?

メインスレッド
{
子スレッド0...n
すべて完了

n 分間
(R) m 分ごとに、何かを確認します
成功したら終了
そうでない場合は、m 分間待ち続けてから (R)
}
4

2 に答える 2

1

次のようなことを試してください:

  Task.Factory.StartNew(() =>
  {
     while (!CheckForSomething())
        Task.Delay(TimeSpan.FromMinutes(2));

  }).Wait(TimeSpan.FromMinutes(30));
于 2013-03-19T16:35:00.570 に答える