CAS,tryLock,lockinterupptibly,公平或非公平,公平需要在队列里排队,前来后到。非公平无需排队,听由cpu调度。 synchronized只有非公平。
Lock lock = new ReentrantLock();有一个等待队列。Condition con = lock.newCondition(); 产生并返回新的等待队列。不同的线程可以调用con.await()进入对应的等待列,con.signalAll()唤醒对应等待队列的全部线程。可以对竞争同一把锁的线程区分控制 。
ReadWriteLock,共享锁,排它锁。StampedLock,读写锁的升级。