美文网首页
C# Parallel的困惑

C# Parallel的困惑

作者: johnwonder | 来源:发表于2016-08-31 09:47 被阅读0次

    Parallel中因为listStatic再改变,导致countList也改变,如果遍历countlist那么就会报错。

        static void Main(string[] args)
            {
    
                Parallel.For(0, 20, (i) =>
                {
    
                    List<int> countList = null;
    
                    outList(out countList);
                    listStatic.Add(5);
                    //此处遍历有可能会报 集合已修改,无法遍历。
                    foreach (var item in countList)
                    {
                        Console.WriteLine(item);
                    }
    
                   
                });
    
                Console.Read();
            }
    
            static List<int> listStatic = new List<int>();
    
            static void outList(out List<int> listOut)
            {
                listOut = listStatic;
                listStatic.Add(1);
                listStatic.Add(2);
                listStatic.Add(3);
                listStatic.Add(4);
                listStatic.Add(4);
            }
    

    相关文章

      网友评论

          本文标题:C# Parallel的困惑

          本文链接:https://www.haomeiwen.com/subject/zfmxettx.html