一、为什么用线程池?它的优势是什么? 线程池坐的主要工作是控制运行的线程的数量,处理过程中将任务放入队列(阻塞队列),然后在线程创建后启动这些任务,如果线程数量超过了最大数量超出的...
为了便于后面自己手写线程池,我们必须对如何创建线程非常熟悉,尤其是实现Callable接口的方式; 创建线程共有3种方式: 继承Thread类 实现Runnable接口 实现Cal...
名言警句: 线程操纵资源类; 判断、干活、唤醒通知; 严防多线程并发状态下的虚假唤醒; 一、生产者消费者模式的实现方式 在我们学习阻塞队列之前,要想实现生产者和消费者模式,共有两种...
一、CountDownLatch(倒计时) 基本概念,是什么? 让一个线程await堵塞,直到另一些县城完成一系列操作后才被唤醒; CountDownLatch主要有2个方法:当一...
JAVA中常见的锁,你知道的有哪些? 公平锁/非公平锁/可重入锁/递归锁/自旋锁/读写锁 等等;谈谈对各自的理解; 一、JAVA锁之公平锁和非公平锁 1、是什么? 公平锁:多个线程...
一、集合类不安全问题之并发修改异常和写时复制处理方案 我们都知道ArrayList是线程不安全的,请编写一个不安全案例,并给出解决办法 package com.jigui...
从一个AtomicInteger原子类,我们可以引申出以下一系列知识点,可以打包一起记忆: 一、什么是ABA问题? 一句话:狸猫换太子; 有A、B两个线程,线程A执行一次CAS操作...