java多线程详细笔记
2023-08-21 17:06:55 6 举报
AI智能生成
java 多线程笔记,持续补充
作者其他创作
大纲/内容
1 线程实现方式
继承Thread类,重写run方法
实现Runable接口,重写run方法
实现Callable接口,重写call方法(此法可以有返回值)
2 线程池
参数
核心线程数(corePoolSize)
最大线程数(maximumPoolSize)
工作队列
SynchronousQueue
LinkedBlockingQueue
ArrayBlockingQueue
空闲线程存活时间单位(unit)
拒绝策略
DiscardOldestPolicy(将线程丢弃在队列队首)
AbortPolicy(直接抛出异常)
CallerRunsPolicy(调用run方法并阻塞执行)
DiscardPolicy(直接丢弃后来的线程)
自定义拒绝策略:
实现RejectedExecutionHandler接口
继承RejectedExecutionException类
空闲线程存活时间(keepAliveTime)
线程工厂
java线程池(ThreadPoolExecutor)
newCachedThreadPool
newScheduledThreadPool
newFixedThreadPool
一个固定线程数量的线程池
newWorkStealingPool
Spring线程池
java线程池与Spring线程池比较
线程调度
3 同步与异步
其他显示锁基础类
Condition接口
Lock接口
ReadWriteLock接口
synchronized关键字
修饰代码块
修饰静态方法
修饰实例方法
异步
4 并发
需要考虑
原子性
可见性
有序性
原子类
基本类型
数组类型
引用类型
对象属性修改类型
5 常见锁
synchronized关键字
修饰代码块
修饰静态方法
修饰实例方法
RentrantLock
6 常见的线程安全的类
0 条评论
下一页