Visual Studio变得迟钝并且冻结了过多的并行循环

时间:2014-06-27 08:21:15

标签: c# .net visual-studio loops parallel.foreach

我们在Visual Studio中发现了一个非常奇怪的问题。

如果您将多于6个或更多并行循环放在一起,则Visual Studio会变得非常迟钝。

如果您单击循环,尝试滚动,或尝试单击循环外部,然后再次单击循环,VS冻结5-10秒。 使用简单的循环,这个问题永远不会发生,所以我们认为问题是,在并行循环的情况下,我们有动作,可能会杀死IDE。

我们已经使用VS2012和VS2013对它进行了测试,结果相同。

以下是我的例子:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static List<string> _list = new List<string>();

        static void Main(string[] args)
        {
            Parallel.ForEach(_list, element1 =>
                {
                    Parallel.ForEach(_list, element2 =>
                        {
                            Parallel.ForEach(_list, element3 =>
                                {
                                    Parallel.ForEach(_list, element4 =>
                                        {
                                            Parallel.ForEach(_list, element5 =>
                                                {
                                                    Parallel.ForEach(_list, element6 =>
                                                    {
                                                        Parallel.ForEach(_list, element7 =>
                                                        {

                                                        });
                                                    });
                                                });
                                        });
                                });
                        });
                });
        }
    }
}

如果有人遇到类似问题,并且知道解决方案,请回答!

0 个答案:

没有答案