美文网首页
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