Thread_Study_Notes 学习线程的知识点记载 1.线程和进程的区别 2.并行和并发有什么区别 3.创建线程的方式有哪些 4.线程包括哪些状态,状态之间是如何变化的 5.线程按顺序执行join、notify和notifyall区别 6.Java中wait和sleep方法的不同 7.如何停止一个正在运行的线程 8.synchronized关键字的底层原理 9.synchronized关键字的底层原理 10.你谈谈JMM(Java内存模型) 11.你谈谈对CAS的理解 12.请谈谈你对volatile的理解 13.禁止指令重排序 14.什么是AQS 15.ReentrantLock的实现原理 16.synchronized和Lock有什么区别 17.死锁产生的条件是什么 18.聊一下ConcurrentHashMap 19.导致并发程序出现问题的根本原因是什么 20.说一下线程池的核心参数 21.线程池中有哪些常见的阻塞队列 22.如何确定核心线程数 23.线程池的种类有哪些 24.为什么不建议用Executors创建线程池 25.线程池使用场景 26.如何控制某个方法允许并发访问线程的数量 27.谈谈你对ThreadLocal的理解