你的位置:首页 > 软件开发 > ASP.net > 异步与并行~ListT是线程安全的吗?

异步与并行~ListT是线程安全的吗?

发布时间:2016-12-08 23:02:13
返回目录题目有点意思,大家都知道Dictionary<K,V>不是线程安全的类型,而List<T>是线程安全的吗?在今天之前大叔没有去测试过,而就在今天也是一个VIP问我,说在我的代码中使用了并行,然后为一个List赋值,说的直接一点就是:List元素是全 ...

异步与并行~ListT是线程安全的吗?

返回目录

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

测试代码:

     [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);      }    }

原标题:异步与并行~ListT是线程安全的吗?

关键词:异步

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。