非公平锁获取 与 公平锁的区别之处

第一点 下面是非公平锁获取锁的方式, 假设现在程序获取锁的状态如图一所示, 同步队列中的所有线程都在自旋的获取锁,假设这个时间点时候 头节点刚好释放锁 并且 来了一个新的线程 A , 那么A 线程在 Lock 方法中获取到了锁,这个时候,同步队里中的线程没有获取到锁一直处于饥饿情况. 从这里我们可以看出,公平锁和非公平锁的区别. 图 1 第二点 公平锁的获取方式, 看lock 代码 ,不管任何时候
相关文章
相关标签/搜索