Net Core教程

C# 并发安全集合ConcurrentBag取代List

本文主要是介绍C# 并发安全集合ConcurrentBag取代List,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

参考网址: https://blog.csdn.net/boonya/article/details/80541460

List集合是非线程安全的,所以我们这里了解下安全集合ConcurrentBag。

控制台测试程序:

using System;

using System.Collections.Concurrent;

using System.Collections.Generic;

using System.Diagnostics;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

 

namespace MyConcurrent

{

    class Program

    {

        /// <summary>

        /// ConcurrentBag并发安全集合

        /// </summary>

        public static void ConcurrentBagWithPallel()

        {

            ConcurrentBag<int> list = new ConcurrentBag<int>();

            Parallel.For(0, 10000, item =>

            {

                list.Add(item);

            });

            Console.WriteLine("ConcurrentBag's count is {0}", list.Count());

            int n = 0;

            foreach (int i in list)

            {

                if (n > 10)

                    break;

                n++;

                Console.WriteLine("Item[{0}] = {1}", n, i);

            }

            Console.WriteLine("ConcurrentBag's max item is {0}", list.Max());

        }

        

 

        /// <summary>

        /// 函数入口

        /// </summary>

        /// <param name="args"></param>

        static void Main(string[] args)

        {

            Console.WriteLine("ConcurrentBagWithPallel is runing" );

            ConcurrentBagWithPallel();

 

            Console.Read();

        }

}

 

参考地址:http://www.cnblogs.com/yunfeifei/p/3998783.html

这篇关于C# 并发安全集合ConcurrentBag取代List的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!