线程池
线程池原理
线程API
创建线程池
1、创建鼓点线程个数的线程池
2、创建缓存线程池,由任务多少来决定
3、创建单线程线程池
4、创建调度线程池
Callable接口–创建线程方式
Callable接口结合线程池使用
future接口
线程同步与异步
同步
异步
Lock锁–同步
重入锁
案例1:
案例2:
读写锁
现在用重入锁来做个比较
要慢上不少
线程安全集合
问题演示
使用线程不安全的集合
使用Collections中的工具方法
1、Collections.synchronizedList(现在不常用)
不会出现刚才的问题
2、CopyOnWriteArrayList
例子1:
例子2:
3、CopyOnWriteArrayList
4、Queue接口
演示单线程(线程不安全)的使用
ConcurrentLinkedQueue
线程安全可高效读写的队列
BlockingQueue(堵塞接口)
演示1:
生产面包问题
5、ConcurrentHashMap