公平锁VS非公平锁

概念

公平锁:每个线程获得锁的机会平等。

非公平锁:与公平锁相反,锁靠线程机会主义抢占。


性能VS:非公平锁>公平锁

    原因:CPU恢复一个挂起的线程及CPU将此线程真正运行存在严重延迟,一般叫线程切换。非公平锁能够更有效利用CPU。

应用场景

    非公平锁:应用于线程业务处理时间相对短暂,但需要大量线程切换,非公平锁有利于性能优化。

     公平锁:应用于线程处理业务的时间远远大于线程切换的时间,这种场景非公平锁无法有效发挥效率优势。

测试试例:

公平锁按线程启动顺序获得锁

    

FairLock:

UnFailLock


你可能感兴趣的:(公平锁VS非公平锁)