首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PLinq扩展方法中的读取并行度

PLinq扩展方法中的读取并行度
EN

Stack Overflow用户
提问于 2013-08-15 20:52:31
回答 1查看 172关注 0票数 1

我正在考虑创建自己的PLinq扩展方法,以提供在我最近的问题:在并行linq中指定对象的任务超时中描述的特性。我希望尽可能多地重用现有的.Net结构,包括可能已经在PLinq查询上指定一定程度并行性的任何代码。

在下面的代码块中,我指定了一定程度的并行性。假设CustomForAll是一个具有与现有ForAll方法相同签名的自定义PLinq扩展方法,我如何读取TSource上指定的并行度?

代码语言:javascript
复制
private PictureList FetchPictures(List<Picture> wallResults) 
{                
        wallResults
            .AsParallel()
            .WithDegreeOfParallelism(10)
            .CustomForAll(delegate(Picture p){
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-15 20:57:40

不幸的是,这不是一个支持的操作。PLINQ的设计方式不允许第三方扩展,而不恢复到IEnumerable<T>

并行度存储在ParallelQuery类中的私有成员变量中(private QuerySettings m_specifiedSettings,在int? m_degreeOfParallism字段中)。

您可能会使用反射提取这一点,但这是一个内部实现细节,可能会发生更改。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18261622

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档