java线程池学习笔记

Callable<> 接口

在这里插入图片描述

在这里插入图片描述
FutureTask是实现了runable的子接口的,而他的构造可以接收callable,这样new Thread就可以传这个callable了
在这里插入图片描述

线程池

线程池优势

在这里插入图片描述

线程池常用的几个方式

在这里插入图片描述
这个不是重点,知道即可,加上java8新出大多一共5种
带调度的-Executors.newScheduledThreadPool()
Executors.newScheduledThreadPool()
这是带调度的线程池例如我要每5秒执行一次

线程池

4种获得多线程的方法:
 - 继承Thread类
 - 实现Runable接口	但是这个无返回无异常
 - 实现Callable接口	有返回可抛异常
 - 获得和使用多线程方法 线程池方式

ead类

这三个最重要,最常用的3个线程池:
在这里插入图片描述

Executors.newFixedThreadPool(int) //固定线程数的线程池
简单理解:一池固定数线程
类似一个一行就5个业务办理窗口

在这里插入图片描述
在这里插入图片描述

Executors.newSingleThreadExecutor() //单的
一池一线程

在这里插入图片描述

Executors.newCachedThreadPool() //可扩容带缓存的
一池多线程

在这里插入图片描述

在这里插入图片描述

ThreadPoolExecutor很重要

线程池5大参数
在这里插入图片描述

ThreadPoolExecutor七大参数

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

第五个参数workQueue相当于银行的候客区
第六个线程工厂
第七个参数,拒绝策略,防止队列里任务过多 ---->4种拒绝策略

线程池拒绝策略

在这里插入图片描述以下时几种拒绝策略
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

关于手写线程池的基本线程数设置

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
密集型两种方式

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值