线程池 ManualResetEvent[通俗易懂]

线程池 ManualResetEvent[通俗易懂]线程池:    “线程池”是可以用来在后台执行多个任务的线程集合。(有关背景信息,请参见使用线程处理。)这使主线程可以自由地异步执行其他任务。线程池通常用于服务器应用程序。每个传入请求都将分配给线程池中的一个线程,因此可以异步处理请求,而不会占用主线程,也不会延迟后续请求的处理。一旦池中的某个线程完成任务,它将返回到等待线程队列中,等待被再次使用。这种重用使应用程序可以避免为每个任…

大家好,又见面了,我是你们的朋友全栈君。

线程池:

  

  “线程池”是可以用来在后台执行多个任务的线程集合。(有关背景信息,请参见使用线程处理。)这使主线程可以自由地异步执行其他任务。

线程池通常用于服务器应用程序。每个传入请求都将分配给线程池中的一个线程,因此可以异步处理请求,而不会占用主线程,也不会延迟后续请求的处理。

一旦池中的某个线程完成任务,它将返回到等待线程队列中,等待被再次使用。这种重用使应用程序可以避免为每个任务创建新线程的开销。

线程池通常具有最大线程数限制。如果所有线程都繁忙,则额外的任务将放入队列中,直到有线程可用时才能够得到处理。

您可以实现自己的线程池,但是通过 ThreadPool 类使用 .NET Framework 提供的线程池更容易一些。

参见:https://msdn.microsoft.com/zh-cn/library/3dasc8as(vs.80).aspx

 

ManualResetEvent 类

  ManualResetEvent    允许线程通过发信号互相通信。  通常,此通信涉及一个线程在其他线程进行之前必须完成的任务。 

当一个线程开始一个活动(此活动必须完成后,其他线程才能开始)时,它调用 Reset 以将 ManualResetEvent 置于非终止状态。  此线程可被视为控制 ManualResetEvent。  调用 ManualResetEvent 上的 WaitOne 的线程将阻止,并等待信号。  当控制线程完成活动时,它调用 Set 以发出等待线程可以继续进行的信号。  并释放所有等待线程。 

一旦它被终止,ManualResetEvent 将保持终止状态,直到它被手动重置。  即对 WaitOne 的调用将立即返回。 

可以通过将布尔值传递给构造函数来控制 ManualResetEvent 的初始状态,如果初始状态处于终止状态,为 true;否则为 false。

ManualResetEvent   也可以同 staticWaitAllWaitAny 方法一起使用。

 参见:https://msdn.microsoft.com/zh-cn/library/system.threading.manualresetevent(v=vs.110).aspx

转载于:https://www.cnblogs.com/ChineseMoonGod/p/4272088.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/161170.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月18日 下午3:16
下一篇 2022年7月18日 下午3:36


相关推荐

  • springmvc的执行流程详解[通俗易懂]

    1.什么是MVCMVC是ModelViewController的缩写,它是一个设计模式 2.springmvc执行流程详细介绍 第一步:发起请求到前端控制器(DispatcherServlet)第二步:前端控制器请求HandlerMapping查找Handler        可以根据xml配置、注解进行查找第三步:处理器映射器Handle

    2022年4月4日
    52
  • 互联网金融风控模型大全

    互联网金融风控模型大全一、市场调研目前市面主流的风控模型1、互联网金融前10名排行榜(数据截止日期2017-09-12)互联网金融公司排名分别是蚂蚁金服、陆金所、京东金融、苏宁金融、百度金融、腾讯理财通、宜信、钱大掌柜、万达金融和网易理财。1.1蚂蚁金服1.1.1大数据技术对接第三方征信公司芝麻信用分,通过用户信用历史、行为偏好、履约能力、身份特质、人脉关系五个维度对海量数据行综合的处理评估,同时也给予阿里电商交易…

    2022年4月29日
    56
  • 结构体字节对齐

    结构体字节对齐先说个题外话 早些年我学 C 程序设计时 写过一段解释硬盘 MBR 分区表的代码 对着磁盘编辑器怎么看 怎么对 可一执行 结果就错了 当时调试也不太会 又根本没听过结构体对齐这一说 所以 问题解决不了 好几天都十分纠结 后来万般无奈请教一个朋友 才获悉可能是结构体对齐的事 一查 一改 果真如此 nbsp nbsp 问题是解决了 可网上的资料多数只提到内存对齐是如何做

    2026年3月17日
    2
  • Java之Java关键字及其作用

    Java之Java关键字及其作用

    2021年7月21日
    53
  • SpringBoot启动全流程源码解析(超详细版)[通俗易懂]

    SpringBoot启动全流程源码解析(超详细版)[通俗易懂]我们在使用SpringBoot启动项目的时候,可能只需加一个注解,然后启动main,整个项目就运行了起来,但事实真的是所见即所得吗,还是SpringBoot在背后默默做了很多?本文会通过源码解析的方式深入理解SpringBoot启动全过程SpringBoot启动过程流程图源码解析大家不要抗拒源码解析,这个非常优秀的代码,我们如果能够学会对自己代码编写水平大有裨益首先,我们先来看下SpringBoot项目的启动类@SpringBootApplicationpublicclassSp.

    2025年10月27日
    6
  • 如何和女生聊天不尬聊_女孩说和我聊天是尬聊

    如何和女生聊天不尬聊_女孩说和我聊天是尬聊大家好呀,我是辣条。写这篇文章的灵感来源于之前和朋友的聊天,真的无力吐槽了,想发适合的表情包怼回去却发现收藏的表情包就那几个,就想着是不是可以爬取一些表情包,再也不用尬聊了。先给大家看看我遇到的聊天最尬的场面:斗图吧图片采集抓取目标工具使用重点内容学习项目思路分析整理需求简易源码分享抓取目标网站:斗图吧工具使用开发环境:win10、python3.7开发工具:pycharm、Chrome工具包:requests、etree重点内容学习1.Q队列储存数据信息2.py多线程使用方法

    2025年12月11日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号