多线程面试题全面总结

学会以下这些面试题,多线程面试再也不用愁。

  1. 什么是线程?
  2. 线程和进程有什么区别?
  3. 线程实现的方式有几种(四种)?
  4. Runnable接口和Callable接口的区别?
  5. start()方法和run()方法的区别?
  6. 线程的五个状态(五种状态,创建、就绪、运行、阻塞和死亡)?
  7. 怎么唤醒一个阻塞的线程?
  8. 什么是线程安全和线程不安全?
  9. 什么是多线程?优缺点?
  10. 什么是多线程的上下文切换?
  11. Java中用到的线程调度算法是什么
  12. 一个线程如果出现了运行时异常会怎么样?
  13. 线程类的构造方法、静态块是被哪个线程调用的?
  14. 锁的等级:方法锁、对象锁、类锁?
  15. volatile关键字的作用?
  16. volatile和synchronized的区别?
  17. 如果同步块内的线程抛出异常会发生什么?
  18. 同步方法和同步块,哪个是更好的选择?
  19. 如何保证多线程下 i++ 结果正确?
  20. 什么是原子操作?在Java Concurrency API中有哪些原子类(atomic classes)?
  21. 什么是synchronized?
  22. 什么是自旋锁?
  23. 什么是乐观锁和悲观锁?
  24. Java Concurrency API中的Lock接口(Lock interface)是什么?对比同步它有什么优势?
  25. synchronized和ReentrantLock的区别?
  26. ReentrantReadWriteLock读写锁的使用?
  27. 什么是Java内存模型?
  28. 什么是AQS?
  29. 什么是CAS?
  30. 什么是Unsafe?
  31. wait()和sleep()的区别?
  32. 什么是Callable和Future?
  33. 什么是FutureTask?
  34. 什么是同步容器和并发容器的实现?
  35. 如何在两个线程之间共享数据?
  36. 生产者消费者模型的作用是什么?
  37. ThreadLocal的设计理念与作用?
  38. Concurrent包里的其他东西:ArrayBlockingQueue、CountDownLatch等等。
  39. 什么是阻塞队列?如何使用阻塞队列来实现生产者-消费者模型?
  40. Semaphore有什么作用?
  41. CyclicBarrier和CountDownLatch的用法及区别?
  42. LockSupport工具?
  43. Condition接口及其实现原理?
  44. Java中如何获取到线程dump文件?
  45. Hashtable的size()方法中明明只有一条语句”return count”,为什么还要做同步?
  46. HashMap、ConcurrentHashMap底层原理
  47. ConcurrentHashMap的并发度是什么?
  48. 并发编程(concurrency)并行编程(parallellism)有什么区别?
  49. 什么是Executors框架?
  50. Executors创建线程的几种方式?
  51. ThreadPoolExecutor和Executors类下面的线程池工具方法有什么区别?
  52. ThreadPoolExecutor中的七个参数分别含义?
  53. 线程池有哪些生命周期?
  54. ThreadPool(线程池)用法与优势?
  55. 高并发、任务执行时间短的业务怎样使用线程池?并发不高、任务执行时间长的业务怎样使用线程池?并发高、业务执行时间长的业务怎样使用线程池?
  56. 如果你提交任务时,线程池队列已满,这时会发生什么?
  57. Fork/Join框架的理解?
  58. Disruptor是什么结构来存储数据?
  59. 为什么说Disruptor是单机最快的队列?
  60. 如何检测死锁?怎么预防死锁?

有时间我会整理一下答案发出来,如果有更多的多线程的面试题欢迎补充。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风某人~Wind

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值