- 乐观锁、悲观锁
- volatile 和 synchronized 的区别
- 两线程对变量i进行加1操作,结果如何?为什么?怎么解决?
- CAS概念、原子类实现原理
- synchronize底层实现,如何实现Lock?
- AQS有什么特点?
- 讲一下多线程与多进程区别
- 在 java 中守护线程和本地线程区别?
2、线程与进程的区别?
3、什么是多线程中的上下文切换?
4、死锁与活锁的区别,死锁与饥饿的区别?
5、Java 中用到的线程调度算法是什么?
6、什么是线程组,为什么在 Java 中不推荐使用?
7、为什么使用 Executor 框架?
8、在 Java 中 Executor 和 Executors 的区别?
9、如何在 Windows 和 Linux 上查找哪个线程使用的 CPU 时间最长?
10、什么是原子操作?在 Java Concurrency API 中有哪些原子类(atomic classes)?
11、Java Concurrency API 中的 Lock 接口(Lock interface)是什么?对比同步它有什么优势?
12、什么是 Executors 框架?
13、什么是阻塞队列?阻塞队列的实现原理是什么?如何使用阻塞队列来实现生产者-消费者模型?
14、什么是 Callable 和 Future?
15、什么是 FutureTask?使用 ExecutorService 启动任务。
16、什么是并发容器的实现?
17、多线程同步和互斥有几种实现方法,都是什么?
18、什么是竞争条件?你怎样发现和解决竞争?
19、你将如何使用 thread dump?你将如何分析 Thread dump?165
20、为什么我们调用 start()方法时会执行 run()方法,为什么我们不能直接调用 run()方法?
并发面试题目
最新推荐文章于 2022-08-12 20:26:21 发布
本文深入探讨Java并发编程的关键概念,包括乐观锁与悲观锁的区别、synchronized与volatile的运用场景、上下文切换的影响、死锁与活锁的区分、线程调度算法解析、以及原子操作的重要性。同时,详细讲解了Executor框架的优势、线程组的使用限制、阻塞队列的工作原理、Callable与Future的使用技巧,并介绍了多线程环境下竞争条件的识别与解决策略。
2370

被折叠的 条评论
为什么被折叠?



