Java进阶(Juc多线程并发)-进阶篇

目录

0.synchronousQueue同步队列(put,take存取)

11.线程池(重点)

 12.四大函数式接口(必须掌握)

12.1 function(函数型接口,有输入,输出)

12.2 pridicate(断定型接口,只有输入,输出为true、false)

 12.3.consumer(消费型接口,只有输入,没有输出)​

12.4 supperlier(供给型接口,没有输入,只有输出)​

 13.stream流式计算

 14.ForkJoin

15.异步回调

16.JMM

 17.volatile

18.单例模式 

19.CAS

20.原子引用

21.各种锁

 公平锁和非公平锁​

 可重入锁(递归锁)

自旋锁

 死锁​

    总结


0.synchronousQueue同步队列(put,take存取)

11.线程池(重点)

1.创建ThreadPoolExecutor类

2.输入相关的7大参数(核心线程数,最大线程数,超时时间,时间单位,阻塞队列,线程工厂,拒绝策略)

3.execut执行。

4.关闭线程池(shutdown)

拒绝策略:  1.抛出异常 2.返回主线程 3.不执行 4.尝试竞争

                   最大线程数:  1.根据cpu核数设置

                                        2,根据其中io线程数设置,推荐为io的两倍

线程池的作用:1.减少资源的消耗, 2.提高运行速度  3.便于管理

 

 

 

 

 

 

 12.四大函数式接口(必须掌握)

12.1 function(函数型接口,有输入,输出)

 

12.2 pridicate(断定型接口,只有输入,输出为true、false)

 

 12.3.consumer(消费型接口,只有输入,没有输出)

 

12.4 supperlier(供给型接口,没有输入,只有输出)

 

 13.stream流式计算

 

 14.ForkJoin

 

 

 

 

 使用·forkjoin类:

        1.创建forkjoinPool池;

         2.创建forkjoinTsk任务

         3.将forkjoinTask 扔进folkjoinPool(submit提交)

        4.调用get得到结果

 

15.异步回调

 

16.JMM

 

 

 

 

 17.volatile

 

 

 

 

 

 

 

 

 

 

18.单例模式 

构造器私有

 

 

 

 

 

 枚举默认是单例,反射不能破坏枚举,没有无参构造器。jad 反编译,

 

 

19.CAS

compareAndSet比较并且交换

 

 

20.原子引用

 

21.各种锁

 公平锁和非公平锁

 可重入锁(递归锁)

 

 

 

 

自旋锁

一直尝试,直到成功为止

 

 

 

 死锁

 

 

 

    总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值