做到物流分拣项目,处理格口数据报警状态问题,使用了并行Parallel.ForEach。后面做了下几个循环的效率,也记录了一下;
循环体内不做任何事情 时,发现Parallel.ForEach更耗时。Parallel.ForEach不是并行的吗,怎么会更耗时呢?颠覆了认知。。。。别急:这是因为循环体内执行的任务开销太小啦,Parallel并行管理的附加开销加上去反而时间更多。
如果循环体内执行相对耗时的任务,比如我现在在循环体内 Thread.Sleep(1);我们看一下效果
这下认知回来了; 效果非常显著。
所以选择哪一种循环,需要考虑 循环体任务的轻重 以及 循环量的大小。
来源链接:https://www.cnblogs.com/KimhillZhang/p/18644916
© 版权声明
本站所有资源来自于网络,仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您(转载者)自己承担!
如有侵犯您的版权,请及时联系3500663466#qq.com(#换@),我们将第一时间删除本站数据。
如有侵犯您的版权,请及时联系3500663466#qq.com(#换@),我们将第一时间删除本站数据。
THE END
暂无评论内容