我们在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 =>
{
});
});
});
});
});
});
});
}
}
}
如果有人遇到类似问题,并且知道解决方案,请回答!