多线程
下一次是什么时候
这个作者很懒,什么都没留下…
展开
-
多线程
多线程幕课网转载 2018-06-06 11:24:29 · 133 阅读 · 0 评论 -
ArrayBlockingQueue实现原理
1.ArrayBlockingQueue底层实现是通过数组来实现的,按照先进先出的原则,通过ReentrantLock lock 重入锁来锁住当前竞争资源,使用Condition notEmpty,Condition notFull来实现生产者-消费者模式(通知模式)。下面ArrayBlockingQueue添加和取出元素的源码可以看做生产者-消费者模式。public class ArrayBlo...原创 2018-07-02 09:55:31 · 1510 阅读 · 0 评论 -
并发容器之CopyOnWriteArrayList
1.并发容器之CopyOnWriteArrayList 点击打开链接转载 2018-07-02 18:07:23 · 168 阅读 · 0 评论 -
LinkedBlockingQueue实现原理
1.LinkedBlockingQueue实现原理:源码分析如下public class LinkedBlockingQueue<E> extends AbstractQueue<E> implements BlockingQueue<E>, java.io.Serializable { private static final long serial...原创 2018-07-03 09:05:35 · 2246 阅读 · 0 评论 -
ThreadPoolExecutor使用详解
1.ThreadPoolExecutor使用详解 点击打开链接转载 2018-07-04 08:34:13 · 184 阅读 · 0 评论 -
CopyOnWriteArrayList实现原理
1.CopyOnWrite容器即写时复制的容器。当我们新添加一个元素到容器时候,不直接往当前容器添加,而是先将当前容器进行Copy,复制出一个新的容器,然后新的容器里添加元素,添加完元素之后,再将原容器的引用指向新的容器。这样做的好处是我们可以对CopyOnWrite容器进行并发的读,而不需要加锁,因为当前容器不会添加任何元素。所以CopyOnWrite容器也是一种读写分离的思想,读和写不同的容器...原创 2018-08-10 10:03:39 · 644 阅读 · 0 评论 -
ThreadLocal实现原理
1.ThreadLocal可称为线程局部变量or本地线程变量,该类的作用是为每个线程都创建一个变量副本, 每个线程都可以修改自己所拥有的变量副本, 而不会影响其他线程的副本. 其实这也是解决线程安全的问题的一种方法。 2.变量副本是什么时候“复制”到threadlocal中的呢?这里“复制”两个字用的很不专业。准确的说,应该是,变量副本【每个线程中保存的那个map中的变量】是怎么声明和初始化的?...原创 2018-08-08 18:03:22 · 257 阅读 · 0 评论