ReentrantLock
1. ReentrantLock lock.lock(); lock.unlock();
2.Condition condition = lock.newCondition();
condition.await();//必须卸载lock.lock();和lock.unlock();之间;
condition.singnalAll()
conditionA = lock.newCondition();
conditionB = lock.newCondition();
conditionA.singnal()
condition.awaitUninterruptibly() 不允许中断
condition.awaituntil(time);
3.公平锁、非公平锁
new ReentrantLock(true); //公平锁
new ReentrantLock(true); //非公平锁 默认
4.ReentrantReadWriteLock类
读锁:lock.readlock.lock();
写锁:lock.writelock.lock();
读读共享
写写互斥
读写互斥
写读互斥
1. ReentrantLock lock.lock(); lock.unlock();
相当于synchronized语句块
2.Condition condition = lock.newCondition();
condition.await();//必须卸载lock.lock();和lock.unlock();之间;
condition.singnalAll()
conditionA = lock.newCondition();
conditionB = lock.newCondition();
conditionA.singnal()
condition.awaitUninterruptibly() 不允许中断
condition.awaituntil(time);
3.公平锁、非公平锁
new ReentrantLock(true); //公平锁
new ReentrantLock(true); //非公平锁 默认
4.ReentrantReadWriteLock类
读锁:lock.readlock.lock();
写锁:lock.writelock.lock();
读读共享
写写互斥
读写互斥
写读互斥