![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线程安全
文章平均质量分 67
WTired
兴趣是最大的老师
展开
-
深度解析ReentrantLock让你不再为面试发愁
摘要 java5之后,并发包中新增了Lock接口(以及相关实现类)用来实现锁的功能,它提供了与synchronized关键字类似的同步功能,那为什么还要使用lock锁呢,首先呢lock锁更加灵活,我们可以手动的控制锁,synchronized我们无法控制,只能等结束完成自动释放锁。 分类 Lock有读写锁,读锁是可以共享的,允许多个线程同时读取,也可以叫做共享锁,写锁是独立的,只允许一个线程去写,也叫排它锁,独占锁。 ReentrantReadWriteLock readWriteLock = new Re原创 2021-11-27 22:35:32 · 376 阅读 · 0 评论 -
从零学习synchronized关键字
摘要 synchronized是java的关键字,也可以叫同步锁,能够保证在同一时刻最多只有一个线程执行同步代码代码块,以达到保证并发安全的效果。 性质 可重入性:当一个线程获取锁后,没有释放当前锁,再次获取当前锁时,可以直接进去,不需要再次获取锁,synchronized可以是一个悲观锁,独占锁。 原子性:确保同一时间只有一个线程能拿到锁,能够进入代码块。 不可中断性:一个线程获取锁之后,另外一个线程处于阻塞或者等待状态,前一个不释放,后一个也一直会阻塞或者等待,不可以被中断。 synchronized的原创 2021-11-27 16:21:36 · 143 阅读 · 0 评论