Reentrantlock锁
Reentrantlock :
加锁方式有三种
Reentrantlock lock = new Reentrantlock ();
1、lock.lock(); 可重入,不可以打断 ,lock.lock()和lock.unlock()必须成出现
2、lock.lockInterruptibly(); 可打断,用Interrupt()打算 抛出异常
lock.lockInterruptibly() 只是尝试获取锁,不一定获取的到,如果没有获得锁,就会进入阻塞状态,使用Interrupt()打算,可以让一直想要获取锁,没有获取到的对应线程放弃等待,避免死等,避免死锁的情况发生
3、lock.tryLock() &、lock.tryLock(long time ,TimeUnit t) :尝试获得锁,可以加参数,可以不加参数,不加参数就是获取不到锁立即放弃返回结果;加参数就是等到设置的时间还没有获取到锁 才返回
浙公网安备 33010602011771号