我计划在azure中使用workerprocess来完成长时间运行的任务。但是我不知道是使用任务并行库还是线程。
-Mahender
发布于 2012-09-24 22:16:00
我们已经在Azure中使用了TPL并取得了一些成功,我会推荐它。在不了解更多关于您的项目的情况下,我会说您应该可以继续使用TPL。
发布于 2012-09-24 22:46:36
由于工作人员角色(或web角色)是在Windows Server虚拟机中运行的代码的脚手架,因此我认为决策是基于您的应用程序和相关架构,而不是Windows Azure。如果部署到Windows Server,我会选择您要使用的那个。只需记住正确地捕获Run()方法中的任何错误/异常,因为如果您退出Run(),实例将经历其关闭序列并被回收。
发布于 2012-09-24 22:59:49
TPL通过一个特殊的TaskCreationOptions枚举成员LongRunning支持长时间运行的任务。
指定任务将是一个长时间运行的粗粒度操作。它向TaskScheduler提供了一个提示,即可能需要超额订阅。
而且TPL使得使用CPU的多核变得更加容易。在Windows Azure中,您可以拥有多个CPU核心based on the instance size you choose
与简单地使用线程相反,任务(TPL)允许您使用实例中可用的大部分CPU核心。
https://stackoverflow.com/questions/12566824
复制相似问题