一.线程状态

多线程面试重点

1.start

..

2.stop

..

3.wait

..

4.notify/notifyAll

..

5.sleep

..

6.interrupt

..

7.join

..

8.yield

..

面试题:

1.sleep是否会释放锁

2.wait是否会释放锁,wait是否必须要要在synchronized的代码块中

3.notify是否会释放锁,何时释放锁

4.wait与notifyAll搭配使用的规范是什么?

5.stop执行是否安全,要如何安全的退出线程

二、线程同步

1.synchronized

使用

方法 (静态方法、普通方法)

/..

代码块

/..

原理

/..

锁升级的过程

/..

JVM的优化

/..

2.Lock

使用

1.公平锁

/..

2.非公平锁

/..

3.读写锁

/..

实现原理

1.CAS

/..

2.CLH

/..

3.AQS

/..

面试题:

1.什么时候使用synchronized,什么时候用ReentrantLock

2.synchronized与ReentrantLock是否是可重入的,什么是可重入

3.synchronized实现原理是什么,锁升级过程是什么,jvm做了哪些优化

4.ReentrantLock实现原理是什么

5.ConcurrentHashMap是如何实现线程安全的,如何做到性能最佳,jdk1.8的前后有什么区别

三、阻塞队列

相关文章:

  • 2022-01-21
  • 2021-11-18
猜你喜欢
  • 2022-12-23
  • 2021-10-18
  • 2022-12-23
  • 2022-12-23
  • 2021-04-25
  • 2022-01-11
相关资源
相似解决方案