Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# VisualStudio变得滞后,并且冻结了太多的并行循环_C#_.net_Visual Studio_Loops_Parallel.foreach - Fatal编程技术网

C# VisualStudio变得滞后,并且冻结了太多的并行循环

C# VisualStudio变得滞后,并且冻结了太多的并行循环,c#,.net,visual-studio,loops,parallel.foreach,C#,.net,Visual Studio,Loops,Parallel.foreach,我们在VisualStudio中发现了一个非常奇怪的问题 如果将超过6个或更多的并行循环放入彼此中,VisualStudio将变得非常滞后 如果您单击进入循环,并尝试滚动,或尝试单击循环外部,然后再次单击进入循环,VS将冻结5-10秒。 对于简单循环,这个问题永远不会发生,所以我们认为问题在于,在并行循环的情况下,我们有动作,这可能会杀死IDE 我们已经用VS2012和VS2013对其进行了测试,结果是一样的 以下是我的例子: using System; using System.Collect

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

如果将超过6个或更多的并行循环放入彼此中,VisualStudio将变得非常滞后

如果您单击进入循环,并尝试滚动,或尝试单击循环外部,然后再次单击进入循环,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 =>
                                                        {

                                                        });
                                                    });
                                                });
                                        });
                                });
                        });
                });
        }
    }
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
使用System.Threading.Tasks;
命名空间控制台应用程序1
{
班级计划
{
静态列表_List=新列表();
静态void Main(字符串[]参数)
{
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=>
{
});
});
});
});
});
});
});
}
}
}

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

我想整个系统都有问题。看起来像是一个bug(或者“限制”),你应该在微软提交一份报告。连接,看看结果如何。有5个循环,它就不起作用了?是的,如果你只使用5个或更少,就没有延迟,IDE的响应和往常一样。我看到了。对此我们无能为力,您可以在connect.microsoft.com上提交反馈报告。如果您迫不及待,请联系Microsoft支持。不要期待任何奇迹,这不太可能是容易修复的。否则会强烈暗示您做错了,没有人编写这样的代码,这会在运行时导致线程的疯狂爆炸,而这不太可能由于线程池耗尽而死锁。这个问题似乎离题了,因为它与visual studio bug有关