首页 新闻 会员 周边

C#并行问题求解

0
悬赏园豆:100 [待解决问题]

各位好,我遇到一个问题,伪代码如下。并行执行funcList,funcList长度为4,CPU4核,其中耗时最久的的func,为4秒左右。
这段代码放在action中执行,有时发现总耗时20多秒(sw.ElapsedMilliseconds为两万多),远高于func的4秒,请问下这是什么原因?如何优化?

var sourceList = new ConcurrentBag<Source>();
var sw= Stopwatch.StartNew();
Parallel.ForEach(funcList, new ParallelOptions { MaxDegreeOfParallelism = 4 }, func =>
{
    sourceList.Add(func());
});
sw.Stop();

划破黑夜的主页 划破黑夜 | 初学一级 | 园豆:124
提问于:2021-07-15 09:48
< >
分享
所有回答(2)
0

cpu满了吧

Dupont | 园豆:157 (初学一级) | 2021-07-16 16:51
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册