Tag: plinq

究竟是什么PLINQ?

在.NET 4.0框架中添加了PLINQ,作为对LINQ的扩展。 它是什么? 它解决了什么问题? 什么时候适合,什么时候不适合?

何时处置CancellationTokenSource?

CancellationTokenSource类是一次性的,快速查看reflection器certificate非常可能KernelEvent托pipe资源KernelEvent 。 它没有终结者,所以如果我们不处理,GC就不会这样做。 另一方面,如果您查看MSDN取消文章中的示例,则除了一个之外,所有代码片段都不会这样做。 在代码中find正确的位置和时间似乎很难。 如果你不等待,你不能用代码开始你的并行任务。 只有在不等待的情况下,取消才有意义。 当然,你可以用Dispose调用在任务上添加ContinueWith ,但是这是怎么回事? 关于可取消的PLINQ查询,哪些不同步,但只是在最后做些什么? 比方说.ForAll(x => Console.Write(x)) ? 它可重用吗? 我们可以重复使用相同的标记进行多个调用,然后将其与主机组件一起处理,让我们说UI控制? 因为它没有类似Reset方法来清理IsCancelRequested和Token字段,所以我认为它是不可重用的,因此每次启动任务(或PLINQ查询)时都应该创build一个新的。 这是真的吗? 如果是的话,我的问题是什么是正确的和build议的策略来处理这些许多CancellationTokenSource实例处理?