0

我有一个 .NET 库,它在内部使用 ParallelQueryable 和 Parallel.ForEach 来并行化计算。

现在,该库正在被 WebApi 应用程序使用。我知道 WebApi 使用异步上下文来防止对当前请求的并发访问。我的问题是,WebApi 对这个上下文的使用是否会以任何方式影响库的内部并行计算(例如,是否都必须在“GUI”线程上执行延续?)?

4

1 回答 1

0

如果 TPL 的行为方式与您描述的一样,那将没有多大意义。PLINQ 的全部意义Parallel.ForEach()在于并行执行代码。并且使用同步上下文(在 ASP.NET 或 GUI 应用程序中)来执行这些Tasks 将意味着它们不会并行执行。正因为如此,PLINQParallel.ForEach()Task.Run()没有使用同步上下文。

于 2013-05-21T22:57:14.067 回答