全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

C#多线程ThreadPool线程池详解

简单说明一下:

线程池可以看做容纳线程的容器;一个应用程序最多只能有一个线程池;ThreadPool静态类通过QueueUserWorkItem()方法将工作函数排入线程池; 每排入一个工作函数,就相当于请求创建一个线程;

线程池的作用:

1、线程池是为突然大量爆发的线程设计的,通过有限的几个固定线程为大量的操作服务,减少了创建和销毁线程所需的时间,从而提高效率。
2、如果一个线程的时间非常长,就没必要用线程池了(不是不能作长时间操作,而是不宜。),况且我们还不能控制线程池中线程的开始、挂起、和中止。

一些使用例子:

实例一:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ThreadPoolDemo
{
 class Program
 {
  static void Main(string[] args)
  {
   System.Threading.ThreadPool.QueueUserWorkItem(new System.Threading.WaitCallback(TestThreadPool),new string[] {"drsw","sfs","sdfs"});
   Console.ReadKey();
  }

  public static void TestThreadPool(object state)
  {
   string[] arry = state as string[]; //传过来的参数值
   int workerThreads = 0;
   int completionPortThreads = 0;
   System.Threading.ThreadPool.GetMaxThreads(out workerThreads, out completionPortThreads);

   Console.Write(DateTime.Now.ToString() + "--" + arry[0] + "----workerThreads=" + workerThreads + "----completionPortThreads=" + completionPortThreads);
  }
 }
}

上述代码运行结果:

使用例子二:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ThreadPoolDemo
{
 class Program
 {
  static void Main(string[] args)
  {
   System.Threading.ThreadPool.QueueUserWorkItem(new System.Threading.WaitCallback(TestThreadPool));
   Console.ReadKey();
  }

  public static void TestThreadPool(object state)
  {
   int workerThreads = 0;
   int completionPortThreads = 0;
   System.Threading.ThreadPool.GetMaxThreads(out workerThreads, out completionPortThreads);

   Console.Write(DateTime.Now.ToString() + "----workerThreads=" + workerThreads + "----completionPortThreads=" + completionPortThreads);
  }
 }
}

上述代码运行结果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# C#  # 多线程  # ThreadPool  # 线程池  # C#线程池ThreadPool用法简介  # C#多线程之线程池ThreadPool详解  # C#多线程之线程池(ThreadPool)  # C#多线程之线程池ThreadPool用法  # C#多线程系列之线程池  # C#实现控制线程池最大数并发线程  # C#线程处理系列之线程池中的I/O线程  # 解析C#多线程编程中异步多线程的实现及线程池的使用  # C#线程池操作方法  # C#实现线程池的简单示例  # C#线程池用法详细介绍  # C#实现自定义线程池实例代码  # 几个  # 长时间  # 所需  # 就没  # 要用  # 还不能  # 创建一个  # 大家多多  # 应用程序  # 有一个  # 提高效率  # 挂起  # 池中  # 最多只能  # 减少了  # strong  # pre  # Generic  # Collections  # csharp 


相关文章: 微信小程序 input输入框控件详解及实例(多种示例)  建站之星×万网:智能建站系统+自助建站平台一键生成  如何高效配置IIS服务器搭建网站?  如何实现建站之星域名转发设置?  建站之星下载版如何获取与安装?  在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?  外贸公司网站制作,外贸网站建设一般有哪些步骤?  如何获取开源自助建站系统免费下载链接?  如何快速搭建自助建站会员专属系统?  广州顶尖建站服务:企业官网建设与SEO优化一体化方案  建站之星后台密码遗忘如何找回?  上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?  如何制作算命网站,怎么注册算命网站?  如何选择域名并搭建高效网站?  C++如何编写函数模板?(泛型编程入门)  专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  PHP 500报错的快速解决方法  Swift开发中switch语句值绑定模式  如何批量查询域名的建站时间记录?  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  如何用西部建站助手快速创建专业网站?  实现点击下箭头变上箭头来回切换的两种方法【推荐】  如何在腾讯云服务器快速搭建个人网站?  小程序网站制作需要准备什么资料,如何制作小程序?  Python如何创建带属性的XML节点  如何快速查询网站的真实建站时间?  北京专业网站制作设计师招聘,北京白云观官方网站?  如何在Golang中处理模块冲突_解决依赖版本不兼容问题  如何在阿里云部署织梦网站?  小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?  高端智能建站公司优选:品牌定制与SEO优化一站式服务  如何选择适合PHP云建站的开源框架?  c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】  电脑免费海报制作网站推荐,招聘海报哪个网站多?  学校建站服务器如何选型才能满足性能需求?  网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?  建站主机选购指南与交易推荐:核心配置解析  公司门户网站制作流程,华为官网怎么做?  ,有什么在线背英语单词效率比较高的网站?  如何通过wdcp面板快速创建网站?  如何在Golang中引入测试模块_Golang测试包导入与使用实践  高端企业智能建站程序:SEO优化与响应式模板定制开发  建站之星安装后界面空白如何解决?  深圳 网站制作,深圳招聘网站哪个比较好一点啊?  宝塔面板创建网站无法访问?如何快速排查修复?  代刷网站制作软件,别人代刷火车票靠谱吗?  如何选择高效响应式自助建站源码系统?  在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?  正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。