为了让共享的数组,集合能够被多线程更新,我们现在(.net4.0之后)可以使用并发集合来实现这个功能。而System.Collections和System.Collections.Generic命名空间中所提供的经典列表,集合和数组都不是线程安全的,如果要使用,还需要添加代码来同步。

    先看一个例子,通过并行循环向一个List<string>集合添加元素。因为List不是线程安全的,所以必须对Add方法加锁来串行化。

    任务开始:

   private static int NUM_AES_KEYS =80000;
        static void Main(string[] args)
        {
            Console.WriteLine("任务开始...");
            var sw = Stopwatch.StartNew();
            for (int i = 0; i < 4; i++)
            {
                ParallelGennerateMD5Keys();
                Console.WriteLine(_keyList.Count);
            }
            Console.WriteLine("结束时间:" + sw.Elapsed);

            Console.ReadKey();
        }
View Code

相关文章:

  • 2021-09-07
  • 2022-01-11
  • 2022-12-23
  • 2021-12-20
  • 2018-06-29
  • 2021-07-26
  • 2022-12-23
  • 2021-08-20
猜你喜欢
  • 2021-06-01
  • 2021-12-19
  • 2021-10-09
  • 2021-08-06
  • 2021-08-31
相关资源
相似解决方案