1. 在操作系统层,线程有几种状态?

2. 在 Java 应用层,线程有几种状态?

3. 在 Java 应用层,线程的分类有哪些?

4. 线程阻塞的相关分类?

5. 死锁是什么?发生的条件是什么?

6. 死锁的解决方案有哪些?

7. ThreadLocal 是什么?

8. ThreadLocal.ThreadLocalMap 是如何存储数据的?

9. 为什么 ThreadLocal.ThreadLocalMap 要使用 ThreadLocal 实例作为 Key?能不能使用其他类的实例?

10. 为什么 Thread 不直接使用其他的 Map,而是使用 ThreadLocal.ThreadLocalMap?