多线程面试必备基础知识汇总

218 阅读1分钟

多线程基本概念

同步和异步,线程和进程,并发和并行,临界资源,阻塞,死锁,饥饿,活锁,线程的并发级别

多线程内存模型

JMM的基本概念,主内存与工作内存的数据交互,多线程中的原子性、可见性、有序性,指令重排,volatile关键字

Hello,Thread

如何创建线程,线程的生命周期,线程的基本状态,线程的基本操作:“sleep、yield、jion,线程停止、线程中断、wait、notify、suspen、resume、线程组、守护线程、线程的优先级”

浅谈Java中的锁

Synchronized,重入锁,读写锁

Java线程池核心原理剖析

Executor框架,WorkQueue,线程工厂,拒绝策略,线程池的扩展

锁优化

锁优化常用策略,虚拟机对锁优化做的努力

ThreadLocal及InheritableThreadLocal的原理剖析

ThreadLocal基本使用、原理剖析、注意事项。InheritableThreadLocal基本使用、原理剖析

Java原子类操作原理剖析

CAS概念、CAS算法、Java中的CAS实现、CAS的缺点、Java提供的12种原子操作类

生产者消费者问题

生产者消费者的两种实现方式

多线程工具类

CountDownLatch、CyclicBarrier、Semaphore、LockSupport