05 2020 档案
摘要:多线程在工作中多多少少会用到,我们知道启动 多线程调用的是 start() 方法,而不是 run() 方法,你知道原因吗? 在探讨这个问题之前,我们先来了解一些多线程的基础知识~ 线程的状态 Java 中,定义了 6 种线程状态,在 Thread 类可以找到: 这 6 种状态之间的关联,可以看下面这
阅读全文
摘要:本文聊一下 JUC 下的 LinkedBlockingQueue 队列,先说说 LinkedBlockingQueue 队列的特点,然后再从源码的角度聊一聊 LinkedBlockingQueue 的主要实现~ LinkedBlockingQueue 有以下特点: LinkedBlockingQue
阅读全文
摘要:ArrayList 是我们常用的工具类之一,但是在多线程的情况下,ArrayList 作为共享变量时,并不是线程安全的。主要有以下两个原因: 1、 ArrayList 自身的 elementData、size、modCount 在进行操作的时候,都没有加锁; 2、这些变量没有被 volatile 修
阅读全文