多线程

线程池用过吗?ThreadPoolExecutor谈谈你的理解?

一、为什么用线程池?它的优势是什么? 线程池坐的主要工作是控制运行的线程的数量,处理过程中将任务放入队列(阻塞队列),然后在线程创建后启动这些任务,如果线程数量超过了最大数量超出的...
阅读更多
多线程

创建线程的三种方式及区别

为了便于后面自己手写线程池,我们必须对如何创建线程非常熟悉,尤其是实现Callable接口的方式; 创建线程共有3种方式: 继承Thread类 实现Runnable接口 实现Cal...
阅读更多
多线程

Synchronized锁和Lock锁有什么区别?

题目一:synchronized和Lock有什么区别?用新的Lock有什么好处?请举例说明。 1、原始构成:       &nbs...
阅读更多
多线程

生产者消费者模式的3种实现方式

名言警句: 线程操纵资源类; 判断、干活、唤醒通知; 严防多线程并发状态下的虚假唤醒; 一、生产者消费者模式的实现方式 在我们学习阻塞队列之前,要想实现生产者和消费者模式,共有两种...
阅读更多
多线程

堵塞队列知道吗?

堵塞队列:消息中间件MQ的底层核心原理 一、基本概念? 队列:排队,先到先得; 1、什么是堵塞队列? 顾名思义,首先它是一个队列,一个堵塞队列在数据结构中所起的作用大致如图所示: ...
阅读更多
多线程

CountDownLatch/CyclicBarrier/Semaphore使用过吗?

一、CountDownLatch(倒计时) 基本概念,是什么? 让一个线程await堵塞,直到另一些县城完成一系列操作后才被唤醒; CountDownLatch主要有2个方法:当一...
阅读更多
多线程

java 中锁你知道的有哪些?

JAVA中常见的锁,你知道的有哪些? 公平锁/非公平锁/可重入锁/递归锁/自旋锁/读写锁 等等;谈谈对各自的理解; 一、JAVA锁之公平锁和非公平锁 1、是什么? 公平锁:多个线程...
阅读更多
多线程

集合类不安全问题总结

一、集合类不安全问题之并发修改异常和写时复制处理方案 我们都知道ArrayList是线程不安全的,请编写一个不安全案例,并给出解决办法 package com.jigui...
阅读更多
多线程

谈谈对ABA问题的理解

从一个AtomicInteger原子类,我们可以引申出以下一系列知识点,可以打包一起记忆: 一、什么是ABA问题? 一句话:狸猫换太子; 有A、B两个线程,线程A执行一次CAS操作...
阅读更多
多线程

谈谈对CAS的理解

一、基本概念 什么是CAS? CAS是Compare And Swap比较并交换的简称,主要发生在java的JUC的原子类操作的底层实现中; CAS 操作包含三个操作数 —— 内存...
阅读更多