从linux了解世界
发布时间:2016-08-08 20:18:21
reentrantlock的使用样例: private final ReentrantLock lock = new ReentrantLock(); private final Condition contion1=lock.newCondition(); private final Condition contion2=lock.newCondition(); public void m() { &.........【阅读全文】
发布时间:2016-08-08 18:01:13
除了都知道的synchronize和volatile的关键字,还有util.concurrent包下的lock接口,一般使用reentrantlock实现类(java1.8之后多加了一个lock的实现类stampedlock,用起来很复杂效果最好),semaphore信号量类,util.concurrent.atomic包下的原子类(这些类都是给util.concurrent包下的工具类使用的,自己写代码要小心使用这些.........【阅读全文】
发布时间:2016-08-07 23:31:46
学习锁机制之前首先要知道对象头是什么:对数组对象和非数组对象分别用3或2字的长度记录对象的一些信息其中mark word就是和锁有关的头,第二个是指向方法区中该对象的类型数据指针,第三个是数组对象特有的头,放的数组长度(这也是为什么数组的length不是成员变量的原因,仅仅是编译器现象)mark word根据不同的状态是会.........【阅读全文】