1

長時間実行されるタスクのために、Azure で workerprocess を使用する予定です。しかし、タスク並列ライブラリを使用するか、スレッド化を使用するかを迷っています。

-マヘンダー

4

4 に答える 4

0

TPL は、特殊なTaskCreationOptions列挙型メンバーで長時間実行されるタスクをサポートします: LongRunning

タスクが長時間実行される粗粒度の操作になることを指定します。オーバーサブスクリプションが保証される可能性があるというヒントを TaskScheduler に提供します。

また、TPL を使用すると、CPU の複数のコアを簡単に使用できます。Windows Azure では、選択したインスタンス サイズに基づいて複数の CPU コアを使用できます

  • 中: 2 コア
  • 大: 4 コア
  • XLarge: 8 コア

単にスレッドを使用するのではなく、タスク (TPL) を使用すると、インスタンスで利用可能な CPU コアを最大限に活用できます。

于 2012-09-24T14:59:49.217 に答える
0

We've used TPL with some success in Azure and I would recommend it. Without knowing more about your project, I'd say that you should be good to go ahead with TPL.

于 2012-09-24T14:15:59.533 に答える
0

ワーカー ロール (または Web ロール) は Windows Server 仮想マシン内で実行されるスキャフォールディング コードであるため、決定は Windows Azure ではなく、アプリと関連するアーキテクチャに基づいていると思います。Windows Server に展開する場合に使用するものを選択します。を終了すると、インスタンスはシャットダウン シーケンスを経てリサイクルされるRun()ため、メソッド内のエラー/例外を適切にキャッチすることを忘れないでください。Run()

于 2012-09-24T14:46:35.687 に答える
0

長時間実行タスクの時間は?

Workflow Foundation は、タスクの状態をデータベースにシリアル化できるため、タスクが外部入力を待機する必要がある場合、または長時間かかる場合に適したオプションです。データベースは、Windows Azure SQL データベースで作成できます。

http://msdn.microsoft.com/en-us/library/vstudio/ms735967(v=vs.90).aspx

タスク スケジューラは、Cloud Services で有効にすることができます (いくつかのハッキングが必要です)。これにより、別のオプションが提供されます。

並列タスク ライブラリは、短時間の計算集中型ワークロードに適しています。スレッドの作成には計算とメモリのオーバーヘッドが必要なため、TPL は、タスクが実行されるスレッド プールを維持することで、ここで役立ちます。ただし、長時間ブロックする必要がある場合や、多数のスレッドを同時に実行したい場合は、おそらく最良の選択ではありません。スレッドを自分で管理することを検討する必要があります。

あなたの要件の詳細は、私たちがより良い提案をするでしょう.

于 2012-09-26T12:50:03.407 に答える