zoukankan      html  css  js  c++  java
  • 线程池学习

    一、什么是线程池

    线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。

    二、线程池的特性

    1.减少在创建和销毁线程上所花的时间以及系统资源的开销
    2.避免因系统创建大量线程而导致消耗完系统内存的情况出现

    这里类比数据库连接池,这种“池”的作用一般就是两点:

    • 复用已有资源
    • 控制资源总量

    三、使用场景

    1、需要大量的线程来完成任务,且完成任务的时间比较短。 WEB服务器完成网页请求这样的任务,使用线程池技术是非常合适的。因为单个任务小,而任务数量巨大,你可以想象一个热门网站的点击次数。 但对于长时间的任务,比如一个Telnet连接请求,线程池的优点就不明显了。因为Telnet会话时间比线程的创建时间大多了。
    2、对性能要求苛刻的应用,比如要求服务器迅速响应客户请求。
    3、接受突发性的大量请求,但不至于使服务器因此产生大量线程的应用。突发性大量客户请求,在没有线程池情况下,将产生大量线程,虽然理论上大部分操作系统线程数目最大值不是问题,短时间内产生大量线程可能使内存到达极限,并出现"OutOfMemory"的错误。
     

    四、使用方式

  • 相关阅读:
    word2vec原理推导与代码分析
    vim 删除
    HanLP 配置与使用
    python import 其他 package的模块
    mysql 修改root密码
    Spring Boot 整合 PageHelper
    MyBatis SQL语句构建器
    webpack4
    MySql DCL数据控制语言(对用户权限的设置)
    MySql DQL数据查询语言
  • 原文地址:https://www.cnblogs.com/thiaoqueen/p/8718159.html
Copyright © 2011-2022 走看看