双锁专题

阻塞队列-双锁实现

我们原来单锁的话 容易  比较双锁来讲效率较低,而且size变量是线程不安全的,我们用双锁来进行优化 队列接口 public interface BlockingQueue <E>{void offer(E e) throws InterruptedException;Boolean offer(E e,long timeout) throws InterruptedException;E

一篇讲双锁检测的文章

问题来源于群里面一个同学发了一篇关于双锁检测的文章,然后就有人反对说,双锁检测是过时的。于是乎,我也去找了一下相关的文章。http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html,这一篇文,就是发到群里面的文章。 虽然这篇文章说了在1.5之后,可以使用final字段让对象完全初始化。但是,并没有说明,如果我们使用

DCL(双锁检测)单例模式

我们第一次写的单例模式是下面这样的: public class Singleton {private static Singleton instance = null;public static Singleton getInstance() {if(null == instance) { // line Ainstance = new Singleton(