建设部 招投标网站网站建站啥意思

张小明 2026/1/9 14:56:43
建设部 招投标网站,网站建站啥意思,app网站建设公司,信息流推广主要具有哪两大优势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进行投诉反馈,一经查实,立即删除!

图片手机网站模板wordpress邮件模板

目录 一、IO流体系 1. File类基础操作 2. 字节流体系 3. 字符流体系 4.应用: 二、多线程体系 1. 线程创建方式对比 一、IO流体系 1. File类基础操作 核心知识点: File类的作用:表示文件或目录的抽象路径名,用于文件和目录…

张小明 2026/1/3 15:10:55 网站建设

织梦后台做的网站怎么绑定域名网站推广软件推荐

本文介绍十款主流DevOps工具及平台中出现的MCP server。 如今的AI编程助手表现堪称惊艳:除了生成复杂代码片段,还能按内部规范重构代码,甚至用通俗易懂的语言解释推理过程。但要让AI助手充分发挥价值,最重要的前提就是与现代DevO…

张小明 2026/1/2 22:54:58 网站建设

电子商务网站建设的书网站特效模板下载

当你打开银行APP咨询业务,无需等待人工客服就能获得精准答复;当理财顾问主动根据市场波动调整你的投资组合;当工厂里的设备监测系统提前预警故障并推送维修方案——你可能没意识到,背后操盘的都是同一个“智能帮手”:智…

张小明 2026/1/2 10:52:53 网站建设

上海电子商务网站制作理财网站建设方案书

存储系统的价值从不是“单打独斗”,而是能否与现有技术生态无缝衔接——这也是MinIO迁移时最容易被忽略的关键:选对方案但集成不畅,照样会导致业务中断、运维成本飙升。 本文聚焦主推方案RustFS,从技术团队最关心的5大核心集成场景…

张小明 2026/1/2 20:35:06 网站建设

商城网站后台管理系统在网站上做广告

一、AtomicLoad、AtomicSwap和AtomicCompare这三类原子操作的事务结构和执行规则 AXI协议中AtomicLoad、AtomicSwap和AtomicCompare这三类原子操作的事务结构和执行规则。原子操作的核心特点是“读-修改-写”的不可分割性,即操作在执行过程中不会被其他访问打断,且对外界表现…

张小明 2026/1/2 20:36:06 网站建设