ThreadLocal
https://www.cnblogs.com/ldq2016/p/9041856.html
信号量
公平锁和非公平锁
Callable 、 Future 和 Future Task
https://www.cnblogs.com/dolphin0520/p/3949310.html
线程池
中断机制
Servlet 是否是线程安全
什么叫线程安全?
“当多个线程访问某个类时,不管运行时环境采用何种调度方式,或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么就称这个类是线程安全的.”
https://www.cnblogs.com/suziyu/p/11161017.html
Servlet 需要同步操作吗?
https://blog.csdn.net/fubo1990/article/details/81775054
synchronized 和 ReentrantLock
线程安全
##什么是线程安全问题?
如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的,或者说:一个类或者程序所提供的接口对于线程来说是原子操作或者多个线程之间的切换不会导致该接口的执行结果存在二义性,也就是说我们不用考虑同步的问题 。
线程安全需要保证几个基本特性
1、原子性,简单说就是相关操作不会中途被其他线程干扰,一般通过同步机制实现。
2、可见性,是一个线程修改了某个共享变量,其状态能够立即被其他线程知晓,通常被解释为将线程本地状态反映到主内存上,volatile 就是负责保证可见性的。
3、有序性,是保证线程内串行语义,避免指令重排等。
死锁的4个必要条件(如何从这四个条件出发解决死锁)
AQS 、JDK1.6之后对锁的改进(重要)
synchronized和 ReentrantLock,问怎么实现的
怎么去观察死锁的,比如用java命令
线程池实现
多线程使用,能不能无线增加线程?
synchronized的用法以及有什么劣势 lock进行比较 ReetrantLock的内部实现
单例模式有几种形式以及区别
Futuretask 知道吧 它怎么返回计算值的
啥场景用乐观锁、悲观锁
线程池的原理,创建到销毁过程描述下
数量如何设定,线程池参数的意义? 核心线程数和最大线程数的设计要考虑什么因素?
偏向锁、轻量级锁、自旋锁?
什么情况下会产生死锁?描述一段产生死锁的代码?
说一下ReetrantLock的内部实现?
多线程是不是肯定比单线程好? 什么样的任务适合用多线程什么适合单线程?
单CPU的情况下适合用多线程吗?
十个线程,分别执行不同任务,如何让他们执行完后,相互等待,一同出发
阻塞队列实现
什么时候发生stackOverflow、一个线程的工作栈是多大?哪些区域会发生OOM
线程与协程的区别嘛?协程有哪些优势?把所有多线程都替换成协程实现可以嘛?
stringbuffer和stringbuilder的区别
介绍一下jdk中自带的线程池以及区别
newCachedThreadPool如果提交任务过快,会出现内存耗尽的情况,如何解决
如何实现synchronized一样的效果?
Java有哪些锁。
死锁形成原因
死锁解决方法
如果有个需求要求不能死锁怎么设计
多线程要注意什么
Java中pv操作实现时用的类
Java map底层实现
,创建线程3种方法
Future是什么
ReentrantLock的API里面,lock()和trylock()的区别?
关于锁讲一下JVM里面的Monitor?
信号量与锁的区别。
有没有线程安全的 LIst?怎么实现的?
ScheduledThreadPool 特点,什么时候会用到它?
什么是守护线程使用场景
cyclicbarrier
JUC
定时任务,java怎么实现
CountDownLatch
Java中线程是如何停止的?
操作系统是如何维护Java所创建的线程的?
synchronized有什么作用?加在静态函数上有什么作用
Java 有什么锁类型?答: 自旋锁,读写锁,CAS操作,CAS的ABA问题,锁膨胀问题。
交换器
同步队列