Lock ReentrantLock ReentrantReadWriteLock 显示锁实现案例

本文探讨了Java中Synchronized关键字和Lock接口的区别与应用场景。Synchronized作为隐式锁,可能导致线程假死导致系统崩溃,而Lock接口提供了更细粒度的控制,如可中断的lockInterruptibly()方法,允许更灵活地处理锁的获取和释放,提高系统的可维护性和性能。
摘要由CSDN通过智能技术生成

Synchronized 关键字 是JDK内部实现的锁,俗称“隐示锁”。控制轮廓小,比如多个线程同时访问锁的方法,其中获取锁的线程由于某个操作导致假死了,一直释放不了锁,其他的线程就必须等待,最终导致系统崩溃。

Lock 接口,JDK定义了“显示锁”的标准,内部提供了tryLock() lock() lockInterruptibly() unlock()等方法,更加可控的使用锁。lockInterruptibly()方法提供可中断锁,当线程堵塞时,调用线程的interupt()中断方法则可中断堵塞的线程,从而不至于线程一直堵塞下去。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值