- 博客(3)
- 收藏
- 关注
原创 线程join
Thread.join()方法会保证此线程执行完毕才向下走 比如 class BThread extends Thread { public BThread() { super("[BThread] Thread"); }; public void run() { String threadName = Thread.currentThread().getName(); System.out.println(threadNam..
2021-09-22 23:10:24
121
原创 并发编程学习-不可变模式解决并发问题
首先创建不可变类要具备的条件: 1:所有的成员变量都是由final修饰的 2:使用private修饰所有成员变量,可以防止子类及其他地方通过引用直接修改变量值 3:禁止提供修改内部状态的公开方法,比如setXX方法 4:禁止不可变类被外部继承,防止子类改变其定义的方法的行为 5:如果类中存在数组或集合,在提供给外部访问之前需要做防御性复制 public List<Integer> getData(){ ...
2021-09-17 22:35:33
177
原创 并发编程学习笔记-问题
常见并发出现问题的解决思路: 1:无锁 ①局部变量(方法内定义变量,自然不会因为多线程调用出现问题) ②ThreadLocal 本地线程变量副本,每个线程用自己的变量副本,不会出现问题 ③CAS原子类(带Atomic前缀的类),是通过比较并置换,去保证安全的,置换前会先比较旧值,旧值相同才会改变新值 CAS原子类中,会有一个Unsafe的实例,此类能提供硬件级的cas操作,java通过使用native方法来拓...
2021-09-17 22:15:31
111
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅