本文共 422 字,大约阅读时间需要 1 分钟。
使用线程池时,JDK 提供了多种封装类型的线程池,包括 newFixedThreadPool、newSingleThreadExecutor 和 newCachedThreadPool 等。这些线程池的定义都在 Executors 类中,可以通过查看相关源码更深入了解它们的实现。
ThreadPoolExecutor 类中有几个核心字段:
线程池的状态有5种,状态之间的转换关系如下:
线程池通过 execute() 方法执行任务,源码如下:
线程池可以通过 shutdown() 和 shutdownNow() 方法关闭。
不论是调用 shutdown() 还是 shutdownNow(),线程池都会通过 getTask() 方法决定线程的退出策略。
通过以上方法,线程池可以在不同的情况下关闭,并确保所有任务都能得到处理或被拒绝。
转载地址:http://tlkkz.baihongyu.com/