zoukankan      html  css  js  c++  java
  • ThreadPool.QueueUserWorkItem启动慢

    一、问题描述

        ThreadPool.QueueUserWorkItem启动慢,在项目过程中发现当线程数量达到一定量的时候发线线程启动速度 慢,影响了正常的实时性业务。

    二、解决方法

       加入  ThreadPool.SetMinThreads(1000, 1000) 后,整个进程启动变块。如图1 和图2  ,变快了。

                                                                                                                图1

                                                                                                             图2

    demo :

            static void Main(string[] args)
            {
                ThreadPool.SetMinThreads(1000, 1000);
                Console.WriteLine("开始第1个五十线程");
                for (int i = 0; i < 50; i++)
                {
                    Console.WriteLine("准备开始第1个五十线程,线程" + i);
                    ThreadPool.QueueUserWorkItem((object o) =>
                    {
                        try
                        {
                            var item = o as Tuple<int>;
                            
                            Console.WriteLine("开始第1个五十线程,线程"+item.Item1);
                            Thread.Sleep(10000);
                        }
                        catch (Exception e)
                        {
                           
                        }
                    }, new Tuple<int>(i));
                    
                }
       
  • 相关阅读:
    块级元素和内联元素
    cookie和session 区别
    hihernate一对多关联映射
    --查询50到80行数据
    单表查询
    表空间 用户
    进程遍历模块遍历
    字符转换函数
    控件综合2
    清理文件2
  • 原文地址:https://www.cnblogs.com/musexiaoluo/p/9798952.html
Copyright © 2011-2022 走看看