![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发学习
摸着你的大鼻子
这个作者很懒,什么都没留下…
展开
-
LinkedBlockingQueue 与 ArrayBlockingQueue的区别 学习
队列是一个先进先出的数据结构 一、LinkedBlockingQueue 先来看看构造方法,首先是默认构造方法,不传入capacity时,调用但参数的构造方法。此时LinkedBlockingQueue是一个无界队列,因为默认传入的是Integer.MAX_VALUE。可以默认为无界。 /** * Creates a {@code LinkedB...原创 2020-02-09 20:57:27 · 277 阅读 · 0 评论 -
并发 - ThreadLocal
自己平时学习用来记录日记,会很乱。ThreadLocal用处是保存一个变量副本、使用不当会导致内存溢出,如果用了static关键字,会导致线程不安全。 ThreadLocal实现,ThreadLocal内部定义一个ThreadLocalMap,并定义一个Entry(创建构造方法,以ThreadLocal为key,Object为value),且是数组类型。因为一个线程可能会同时持有多个Thread...原创 2020-01-07 12:01:05 · 199 阅读 · 0 评论 -
并发 - volatile关键字
volatile保证内存的可见性!使用场景,一写多读。只有一个线程去写,其他线程可马上获取改变后的值。demo如下: package vola; /** * @Author: MM * @Date: 2020/1/6 14:23 */ public class VolatileCase { // private static boolean ready; //加上关键字...原创 2020-01-06 14:33:51 · 117 阅读 · 0 评论