题目有点意思,大家都知道Dictionary<K,V>不是线程安全的类型,而List<T>是线程安全的吗?在今天之前大叔没有去测试过,而就在今天也是一个VIP问我,说在我的代码中使用了并行,然后为一个List赋值,说的直接一点就是:List元素是全局的,在各个线程里分别去操作它,测试数据是1万条,而在测试结果之后,我发展List元素最终的数组是9000多条,也就是说被并发了几千条数据,呵呵,下面咱们看一下源代码吧!

测试代码:

万码学堂,电脑培训,计算机培训,Java培训,JavaEE开发培训,青岛软件培训,软件工程师培训

     [TestMethod]        public void TestMethod0()
        {
            List<int> intList = new List<int>();            var result = Parallel.ForEach(Enumerable.Range(1, 10000), (val) =>
            {
                intList.Add(val);
            });            if (result.IsCompleted)
            {
                Console.WriteLine("intList.Count():" + intList.Count);
            }
        }

延伸阅读

学习是年轻人改变自己的最好方式-Java培训,做最负责任的教育,学习改变命运,软件学习,再就业,大学生如何就业,帮大学生找到好工作,lphotoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训学习是年轻人改变自己的最好方式