私は次のような機能を持っています
private void DoSomethingToFeed(IFeed feed)
{
feed.SendData(); // Send data to remote server
Thread.Sleep(1000 * 60 * 5); // Sleep 5 minutes
feed.GetResults(); // Get data from remote server after it's processed it
}
互いに独立しているフィードがたくさんあるので、これを並列化したいです。この回答に基づいて、をそのままにThread.Sleep()
しておくことはお勧めできません。また、すべてのスレッドがスピンアップした後、すべてのスレッドが結果を取得する機会を得るまで待ちたいと思います。
このようなシナリオを処理する最善の方法は何ですか?
誤って省略したため、編集します。もともとこの関数を として呼び出すことを検討していParallel.ForEach(feeds, DoSomethingToFeed)
ましたが、リンク先の回答を見つけたときにスリープを処理するためのより良い方法があるかどうか疑問に思っていました。