zoukankan      html  css  js  c++  java
  • 浅析线程池

    线程池为线程的容器,通过减少线程的创建和销毁时间来提高线程的利用率,但是不能控制线程池中线程的开始,挂起和中止。

    浅析线程池的实现:
    1.当线程池被创建时候,会创建于线程池相同的下限的空闲线程;
    2.当我们在线程池中加入任务时,线程池会安排当前空闲的线程逐一接手任务;
    3.随着任务的增加,某一时刻当任务序列大于现在的线程下限时,线程池并不会马上创建一个新的线程,而是等待一定的时间后,看当前是否会有线程完成成为空闲线程来接手这个请求;
    4.当任务数量超过下限时,每增加一个线程就创建一个线程,直到达到线程池的上限;
    5.当任务数量超过上限时,就不会增加线程,而已让任务在线程池队列等候,当某个线程完成任务后,并不会马上终止,而是会由线程池外的等候任务进入由该线程执行,这样就减少了销毁所用的时间;
    6.随着时间的变化,当任务量小于线程池上限时,空闲线程会空闲一段时间后销毁,销毁到数量为线程池下限为止;
    7.当任务小于线程池下限时候,一部分线程执行任务,另一部分线程空闲;
    8.当任务执行完时,所有线程为空闲状态并且所有的线程数量等于线程池下限。

    数据库连接池同上

  • 相关阅读:
    Mac上使用Charles抓取https
    使用react-navigation 报错isMounted
    create-react-app创建出来项目,如何设置CSS模块化?
    Markdown 常用语法整理
    Git安装和使用
    页面重定向跳转
    AntDesign 踩坑大全
    js实现数组、对象深度克隆的两种办法
    wamp中mysql安装时能启动,重启后无法启动的解决办法
    前端开发工具收藏
  • 原文地址:https://www.cnblogs.com/yankang/p/6399021.html
Copyright © 2011-2022 走看看