zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    内置函数二
    通信的几个程序
    TCP协议和UDP协议
    异常处理
    logging模块
    网络编程一些概念
    hashlib
    序列化模块
    time,sys,os模块
    random模块
  • 原文地址:https://www.cnblogs.com/bruce1992/p/15241741.html
Copyright © 2011-2022 走看看