ReentrantLock

https://mp.weixin.qq.com/s/sA01gxC4EbgypCsQt5pVog

公平锁非公平锁

非公平锁:

 static final class NonfairSync extends Sync {
        private static final long serialVersionUID = 7316153563782823691L;

        /**
         * Performs lock.  Try immediate barge, backing up to normal
         * acquire on failure.
         */
        final void lock() {
            if (compareAndSetState(0, 1))
                setExclusiveOwnerThread(Thread.currentThread());
            else
                acquire(1);
        }

        protected final boolean tryAcquire(int acquires) {
            return nonfairTryAcquire(acquires);
        }
    }

 

 

 

posted @ 2022-07-04 11:33  Nausicaa0505  阅读(10)  评论(0编辑  收藏  举报