摘要: 1. 读写锁 1 // 独占锁(写锁):一次只能被一个线程占有 2 // 共享锁(读锁):可以被多个线程同时占有 3 // 运行结果分析:写锁保证操作的原子性,读锁不能保证操作的原子性 4 // 注意:lock锁一定要配对,不然可能会导致死锁 5 // 个人理解:写操作即为修改数据,会改变原有的数据 阅读全文
posted @ 2020-03-06 23:47 执笔人生 阅读(709) 评论(0) 推荐(0) 编辑
摘要: 1. List不安全探究 1 // ArrayList<String> list = new ArrayList<>(); // ArrayList 源码中CRUD没加synchronized同步 2 // List<String> list = new Vector<>(); // Vector 阅读全文
posted @ 2020-03-03 13:12 执笔人生 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 1. synchronized和lock的区别: synchronized 是Java内置关键字,lock 是Java类; synchronized 无法判断是否获得锁,lock 可以; synchronized 会自动释放,lock 需要手动释放; synchronized 线程1阻塞,线程2会永 阅读全文
posted @ 2020-03-02 21:46 执笔人生 阅读(223) 评论(0) 推荐(0) 编辑