摘要: 线程工厂ThreadFactory 我们在项目开发额过程中,如果有很多地方使用多线程,那么给线程命名是十分有必要的,这样当出现问题的时候就比较容易排查 创建线程池,使用默认的线程工厂 /** * 创建线程池 */ public static final ThreadPoolExecutor pool 阅读全文
posted @ 2021-09-09 13:39 苏格拉的底牌 阅读(6693) 评论(0) 推荐(0)
摘要: 线程池之拒绝策略 当线程池中任务队列已满且最大线程数maximumPoolSize达到最大,此时如果还有任务过来,那么将会触发拒绝策略 线程池一共内置了四种拒绝策略,线程池默认使用AbortPolicy private static final RejectedExecutionHandler de 阅读全文
posted @ 2021-09-09 10:16 苏格拉的底牌 阅读(639) 评论(0) 推荐(0)
摘要: 线程池之工作队列 ArrayBlockingQueue 采用数组来实现,并采用可重入锁ReentrantLock来做并发控制,无论是添加还是读取,都先要获得锁才能进行操作 可看出进行读写操作都使用了ReentrantLock,ArrayBlockingQueue需要为其指定容量 public boo 阅读全文
posted @ 2021-09-09 10:10 苏格拉的底牌 阅读(2167) 评论(1) 推荐(0)