广西住房和城乡建设厅网站证件2019网站建设有限公司

张小明 2026/1/13 7:32:10
广西住房和城乡建设厅网站证件,2019网站建设有限公司,网站插件代码怎么用,品牌网站建设设计1.PLINQ简介语法 2.PLINQ核心配置 3.PLINQ异常 4.PLINQ取消 1.PLINQ简介语法 PLINQ是LINQ的并行扩展, 核心是通过AsParallel()启用并行查询, 自动将查询任务分发到多线程池, 利用多核CPU提升效率a.PLINQ依赖System.Linq命名空间, 支持内存集合(如ListT、IEnumerabl…1.PLINQ简介语法2.PLINQ核心配置3.PLINQ异常4.PLINQ取消1.PLINQ简介语法PLINQ是LINQ的并行扩展,核心是通过AsParallel()启用并行查询,自动将查询任务分发到多线程池,利用多核CPU提升效率 a.PLINQ依赖System.Linq命名空间,支持内存集合(如ListT、IEnumerableT),不支持LINQ to SQL/EF 等数据库查询 b.启用并行(AsParallel),调用后LINQ查询从串行转为并行执行usingSystem;usingSystem.Linq;// 数据源1~10000 的整数集合varnumbersEnumerable.Range(1,10000);// 【普通 LINQ串行】筛选偶数并乘以 2varserialResultnumbers.Where(nn%20).Select(nn*2).ToList();// 【PLINQ并行】仅新增 AsParallel()其余语法完全一致varparallelResultnumbers.AsParallel()// 启用并行核心开关.Where(nn%20).Select(nn*2).ToList();// 最终聚合为 List触发查询执行2.PLINQ核心配置1).控制并行度(WithDegreeOfParallelism)限制并行执行的最大线程数(默认等于CPU逻辑核心数),避免过度并行导致上下文切换varresultnumbers.AsParallel().WithDegreeOfParallelism(4)// 强制最多 4 个线程并行.Sum(nn);2).有序/无序查询(AsOrdered()/AsUnOrdered())a.PLINQ默认无序:并行查询会打乱结果顺序,性能更高 b.保留原集合顺序,需显示调用AsOrdered()-有额外性能开销// 无序默认结果顺序随机性能优varunorderednumbers.AsParallel().Where(nn10).ToList();// 有序结果顺序与原集合一致性能略低varorderednumbers.AsParallel().AsOrdered()// 强制保留顺序.Where(nn10).ToList();3).执行模式(WithExecutionMode())控制PLINQ是否强制并行(默认:PLINQ 会自动判断,若任务简单/数据量小,可能降级为串行)varresultnumbers.AsParallel().WithExecutionMode(ParallelExecutionMode.ForceParallelism)// 强制并行即使PLINQ认为串行更优.Select(nn*2).ToList();3.PLINQ异常PLINQ会将多线程的异常包装为AggregateException,需捕获并处理try{varresultnumbers.AsParallel().Select(n100/n).ToList();}catch(AggregateExceptionex){// 遍历所有线程的异常foreach(varinnerExinex.InnerExceptions){Console.WriteLine($异常{innerEx.Message});}}4.PLINQ取消PLINQ不会强制终止线程,而是在查询执行的检查点(如每次迭代开始 / 结束)检查CancellationToken的状态;若令牌标 记为已取消,则停止新迭代的执行,终止查询 a.CancellationTokenSource(CTS):生成取消令牌的源头,用于触发取消(调用Cancel()/CancelAfter())b.CancellationToken:由CTS生成,通过WithCancellation()传递给PLINQ,标记取消状态 c.OperationCanceledException:取消触发时抛出的异常(包装在 AggregateException 中)usingSystem;usingSystem.Linq;usingSystem.Threading;usingSystem.Threading.Tasks;classPLINQCancellationDemo{staticvoidMain(){// 1. 创建取消令牌源控制取消varctsnewCancellationTokenSource();// 模拟在 500ms 后触发取消另一个线程Task.Run((){Thread.Sleep(500);Console.WriteLine(触发取消...);cts.Cancel();// 标记令牌为“已取消”});try{// 2. PLINQ 查询关联取消令牌varnumbersEnumerable.Range(1,1000000);varresultnumbers.AsParallel().WithCancellation(cts.Token)// 核心关联取消令牌.WithDegreeOfParallelism(4)// 限制并行度// 模拟耗时操作让查询有足够时间被取消.Select(n{// 可选手动检查令牌加速取消响应cts.Token.ThrowIfCancellationRequested();Thread.Sleep(1);// 模拟单次迭代耗时returnn*2;}).ToList();// 触发查询执行Console.WriteLine($查询完成结果数{result.Count});}catch(AggregateExceptionex){// 3. 处理取消异常区分取消和其他异常foreach(varinnerExinex.InnerExceptions){if(innerExisOperationCanceledException){Console.WriteLine(PLINQ 查询已被取消);}else{Console.WriteLine($其他异常{innerEx.Message});}}}finally{// 4. 释放资源CTS 实现了 IDisposablects.Dispose();}}}
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

自贡建设监督质量网站四川煤矿标准化建设网站

ENVI Classic遥感影像处理终极指南:从入门到精通快速上手 【免费下载链接】ENVIClassic使用手册下载 ENVI Classic 使用手册下载 项目地址: https://gitcode.com/Open-source-documentation-tutorial/62ddd 还在为复杂的遥感影像处理而烦恼吗?想要…

张小明 2026/1/11 2:35:14 网站建设

asp网站开发实训报告网站开发时间进度表模板下载

Keil5 STM32调试全链路实战指南:从零搭建稳定开发环境 在嵌入式开发的世界里,写代码只是第一步。真正让程序“活起来”的,是 能下载、能运行、能断点、能观察变量 的完整调试能力。 对于使用STM32系列微控制器的工程师来说,K…

张小明 2026/1/10 10:21:54 网站建设

网站建设案例基本流程图制作模板网站

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个de4dot性能测试工具,功能包括:1. 自动生成不同混淆强度的测试用例 2. 集成de4dot进行批量处理 3. 记录处理时间和内存消耗 4. 与手动反混淆时间进行…

张小明 2026/1/11 7:41:26 网站建设

南阳专业网站设计公司网页动态设计

问题描述: 回环检测中的回环是什么意思呢?请给出通俗的解释。问题解答:一句话通俗解释回环(Loop) 机器人“走了一大圈,又回到了以前来过的地方,并且意识到:我来过这儿。”回环检测&a…

张小明 2026/1/10 23:52:00 网站建设

网站开发强制开启浏览器极速模式网页是什么样子的

如何用1个工具搞定6大系统的标签打印?LPrint开源神器全攻略 【免费下载链接】lprint A Label Printer Application 项目地址: https://gitcode.com/gh_mirrors/lp/lprint 标签打印在物流仓储、零售管理、办公自动化等场景中无处不在,但跨平台兼容…

张小明 2026/1/6 3:14:14 网站建设

做网站系统用什么语言iis wordpress index.php

Linly-Talker实战演示:如何用TTSLLM打造虚拟主播 在直播电商、智能客服和在线教育快速发展的今天,一个共通的挑战浮现出来:如何以低成本实现高质量、可交互的数字内容输出?传统依赖真人出镜或动画制作的方式,面临人力…

张小明 2026/1/5 4:03:47 网站建设