公平锁和非公平锁的对比

2020-07-18  本文已影响0人  水千里

1、公平锁

定义:多个线程按照先到先得的策略获取锁。

优点:所有线程都有机会获得锁,不会饿死

缺点:由于所有线程都会经历阻塞态,因此唤醒阻塞线程的开销会很大。

2、非公平锁

定义:所有的线程拼运气,谁运气好,谁就获取到锁

优点:可以减少CPU唤醒线程的开销,整体的吞吐效率会高

缺点:可能会有线程长时间甚至永远获取不到锁,导致饿死。

上一篇下一篇

猜你喜欢

热点阅读