0

我想问你是否可以在 ASP.NET 4 中使用并行编程?例如 PLINQ。

(因为现在所有的托管服务器都是多核的,它会提供更好的性能吗?)

4

2 回答 2

2

是的,这是可能的。但毫无疑问,它在大多数情况下是有意义的。ASP.NET 已经高度并行化,因为每个请求都在它自己的线程中工作。如果你分拆其他线程来做一些工作,那会产生开销。这种开销会减慢处理其他请求的其他线程。然后,在同步结果以完成请求时,您将引入另一个开销。此外,这种开销可能会减慢响应请求所需的时间。

在某些情况下,这实际上有助于提高整体性能,但我认为总的来说这是不值得的。

当然,只有对这两种方法进行压力测试才能确保使用 PLINQ 或不使用它是否更有效。

于 2011-02-19T11:00:11.700 回答
1

答案是肯定的。

为什么你会有其他想法?(因此讽刺评论。)

请注意,除非您采取特殊步骤,否则每个 HTTP 请求都需要在开始为其提供服务的线程上完成。特殊步骤包括告诉 ASP.NET 对页面使用异步处理,从而允许创建响应并在不同线程上完成请求(可能会中间处理其他其他线程)。如果您在请求的原始线程中使用 TPL(包括 PLINQ),这不是问题。

于 2011-02-19T10:55:00.363 回答