zoukankan      html  css  js  c++  java
  • C# 并发安全集合ConcurrentBag取代List

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

      

  • 相关阅读:
    ntp时钟同步
    io,进程监控
    Linux下修改主机名
    DataGuard主库增加联机日志
    external table
    linux卸载HBA卡驱动
    Oracle DataGuard延迟应用归档归档日志
    index unusable
    VBOX 克隆虚拟机
    device eth0 has different MAC address than expected,igoring
  • 原文地址:https://www.cnblogs.com/51net/p/12509720.html
Copyright © 2011-2022 走看看