Aliang's blog Aliang's blog
  • Java
  • 多线程
  • MySql
  • 常见面试问题
  • 技术文档
  • GitHub技巧
随笔
    • 分类
    • 标签
    • 归档
    • 音乐
    • 友链
    • 关于
GitHub (opens new window)

Aliang

你永远不会过度准备
  • Java
  • 多线程
  • MySql
  • 常见面试问题
  • 技术文档
  • GitHub技巧
随笔
    • 分类
    • 标签
    • 归档
    • 音乐
    • 友链
    • 关于
GitHub (opens new window)
  • Java

  • 多线程

    • 线程池
    • 创建线程池
    • 停止线程池
    • Executor家族辨析
    • ThreadLocal简介
    • Lock接口
  • SpringBoot

  • MySql

  • Redis

  • Lombok

  • Maven

  • Git

  • 常见面试问题

  • 编程
  • 多线程
Aliang
2021-08-11
0
目录

线程池

# 什么是线程池

在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源。

在Java中更是如此,虚拟机将试图跟踪每一个对象,以便能够在对象销毁后进行垃圾回收。

所以提高服务程序效率的一个手段就是尽可能减少创建和销毁对象的次数,特别是一些很耗资源的对象创建和销毁,这就是"池化资源"技术产生的原因。

线程池顾名思义就是事先创建若干个可执行的线程放入一个池(容器)中,需要的时候从池中获取线程不用自行创建,使用完毕不需要销毁线程而是放回池中,从而减少创建和销毁线程对象的开销。

# 为什么要使用线程池

因为反复地创建线程开销大,而且过多的线程会占用太多的内存。

# 线程池的好处

  • 加快响应速度
  • 合理利用CPU和内存
  • 便于统一管理线程

# 线程池的应用场景

  • 服务器接收到大量请求时,使用线程池技术是非常合适的,它可以大大减少线程的创建和销毁的次数,提高服务器的工作效率。
  • 实际上,在开发中,如果一个任务需要创建5个以上的线程,那么就可以使用线程池来管理。
更新于: 2022-06-15 15:03:49
无比强大的JMH基准测试工具
创建线程池

← 无比强大的JMH基准测试工具 创建线程池→

Theme by Vdoing | Copyright © 2020-2022 Aliang
京ICP备2021015997号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式