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

  • 相关阅读:
    [Z]芯片设计经验
    ADF4350初始化程序(verilog)
    基于Altera FPGA的LVDS配置应用一例
    M4K使用率
    榨干FPGA片上存储资源
    ios通讯录复制出来的电话号码两端有隐藏字符串
    PHP做APP接口时,如何保证接口的安全性
    【PHP】微信开放平台---消息加解密-php7.1 使用openssl代替Mcrypt
    Gram矩阵(pytorch)
    数据库范式
  • 原文地址:https://www.cnblogs.com/bruce1992/p/15241741.html
Copyright © 2011-2022 走看看