摘要:
转自:http://www.cnblogs.com/skywang12345/p/3496651.html 获取非公平锁(基于JDK1.7.0_40) 非公平锁和公平锁在获取锁的方法上,流程是一样的;它们的区别主要表现在“尝试获取锁的机制不同”。简单点说,“公平锁”在每次尝试获取锁时,都是采用公平策 阅读全文
摘要:
转自:http://www.cnblogs.com/skywang12345/p/3496609.html 释放公平锁(基于JDK1.7.0_40) 1. unlock() unlock()在ReentrantLock.java中实现的,源码如下: 说明:unlock()是解锁函数,它是通过AQS的 阅读全文
摘要:
转自: http://www.cnblogs.com/skywang12345/p/3496147.html(含部分修改) 概要 本章对“公平锁”的获取锁机制进行介绍(本文的公平锁指的是互斥锁的公平锁),内容包括:基本概念ReentrantLock数据结构参考代码获取公平锁(基于JDK1.7.0_4 阅读全文
摘要:
1. 线程让步: yield() yield()的作用是让步。它能让当前线程由“运行状态”进入到“就绪状态”,从而让其它具有相同优先级的等待线程获取执行权;但是,并不能保证在当前线程调用yield()之后,其它具有相同优先级的线程就一定能获得执行权;也有可能是当前线程又进入到“运行状态”继续运行! 阅读全文