博客
关于我
线程池源码探究
阅读量:409 次
发布时间:2019-03-06

本文共 422 字,大约阅读时间需要 1 分钟。

线程池简介

使用线程池时,JDK 提供了多种封装类型的线程池,包括 newFixedThreadPoolnewSingleThreadExecutornewCachedThreadPool 等。这些线程池的定义都在 Executors 类中,可以通过查看相关源码更深入了解它们的实现。

核心字段

ThreadPoolExecutor 类中有几个核心字段:

线程池状态

线程池的状态有5种,状态之间的转换关系如下:

执行任务

线程池通过 execute() 方法执行任务,源码如下:

线程池关闭方法

线程池可以通过 shutdown()shutdownNow() 方法关闭。

关闭过程

不论是调用 shutdown() 还是 shutdownNow(),线程池都会通过 getTask() 方法决定线程的退出策略。

通过以上方法,线程池可以在不同的情况下关闭,并确保所有任务都能得到处理或被拒绝。

转载地址:http://tlkkz.baihongyu.com/

你可能感兴趣的文章
MySQL集群解决方案(4):负载均衡
查看>>
MySQL高级-视图
查看>>
nacos集群搭建
查看>>
Nessus漏洞扫描教程之配置Nessus
查看>>
Nest.js 6.0.0 正式版发布,基于 TypeScript 的 Node.js 框架
查看>>
Netpas:不一样的SD-WAN+ 保障网络通讯品质
查看>>
Netty WebSocket客户端
查看>>
Netty工作笔记0011---Channel应用案例2
查看>>
Netty工作笔记0014---Buffer类型化和只读
查看>>
Netty工作笔记0050---Netty核心模块1
查看>>
Netty工作笔记0084---通过自定义协议解决粘包拆包问题2
查看>>
Netty常见组件二
查看>>
netty底层源码探究:启动流程;EventLoop中的selector、线程、任务队列;监听处理accept、read事件流程;
查看>>
Netty核心模块组件
查看>>
Netty框架的服务端开发中创建EventLoopGroup对象时线程数量源码解析
查看>>
Netty源码—2.Reactor线程模型一
查看>>
Netty源码—4.客户端接入流程一
查看>>
Netty源码—4.客户端接入流程二
查看>>
Netty源码—5.Pipeline和Handler一
查看>>
Netty源码—6.ByteBuf原理二
查看>>