TPL中的最大任务?

我想在Windows Azure上的Worker进程中使用TPL。我想在队列中添加一个IJob,这有一个Run方法,因此worker将包含: 环     让项目脱离队列     使用TPL调用IJob.Run,​​这是一个异步调用 但我有点担心我可以添加到TPL的最大项目?如果需要,我很乐意构建我自己的TPL池,只需检查它的功能。 干杯, 灰。     
已邀请:
TPL的主要目标之一是不必担心这一点。通过将您的工作分解为Tasks而不是Threads,您可以让调度程序更适当地处理这种平衡。 您可以安排的“任务”数量没有固定的上限。它们(默认情况下,使用默认的TaskScheduler)使用ThreadPool进行调度,从.NET 4开始,它根据工作进行扩展。我强烈建议不要尝试构建自己的池 - 你不可能做得比默认更好。话虽这么说,如果您的任务有非常不标准的行为,您可能需要考虑编写自定义TaskScheduler。 另外 - 要意识到理想情况下应该让你的任务“尽可能大”。与单个任务相关的开销 - 使它们太小(就工作而言)将导致开销对性能的影响大于具有适当数量的较大“任务”的影响。     

要回复问题请先登录注册