【Java】阿里面试题-多线程篇

版权声明:版权声明:本文为博主原创文章,未经博主允许不得转载;https://blog.csdn.net/csdn_baotai https://blog.csdn.net/csdn_baotai/article/details/82142124

多线程

  1. 多线程的几种实现方式,什么是线程安全。

  2. volatile的原理,作用,能代替锁么。

  3. 画一个线程的生命周期状态图。

  4. sleep和wait的区别。

  5. sleep和sleep(0)的区别。

  6. Lock与Synchronized的区别 。

  7. synchronized的原理是什么,一般用在什么地方(比如加在静态方法和非静态方法的区别,静
    态方法和非静态方法同时执行的时候会有影响吗),解释以下名词:重排序,自旋锁,偏向锁,轻
    量级锁,可重入锁,公平锁,非公平锁,乐观锁,悲观锁。

  8. 用过哪些原子类,他们的原理是什么。

  9. JUC下研究过哪些并发工具,讲讲原理。

  10. 用过线程池吗,如果用过,请说明原理,并说说newCache和newFixed有什么区别,构造函
    数的各个参数的含义是什么,比如coreSize,maxsize等。

  11. 线程池的关闭方式有几种,各自的区别是什么。

  12. 假如有一个第三方接口,有很多个线程去调用获取数据,现在规定每秒钟最多有10个线程同
    时调用它,如何做到。

  13. spring的controller是单例还是多例,怎么保证并发的安全。

  14. 用三个线程按顺序循环打印abc三个字母,比如abcabcabc。

  15. ThreadLocal用过么,用途是什么,原理是什么,用的时候要注意什么。

  16. 如果让你实现一个并发安全的链表,你会怎么做。

  17. 有哪些无锁数据结构,他们实现的原理是什么。

  18. 讲讲java同步机制的wait和notify。

  19. CAS机制是什么,如何解决ABA问题。

  20. 多线程如果线程挂住了怎么办。

  21. countdowlatch和cyclicbarrier的内部原理和用法,以及相互之间的差别(比如
    countdownlatch的await方法和是怎么实现的)。

  22. 对AbstractQueuedSynchronizer了解多少,讲讲加锁和解锁的流程,独占锁和公平所
    加锁有什么不同。

  23. 使用synchronized修饰静态方法和非静态方法有什么区别。

  24. 简述ConcurrentLinkedQueue和LinkedBlockingQueue的用处和不同之处。

  25. 导致线程死锁的原因?怎么解除线程死锁。

  26. 非常多个线程(可能是不同机器),相互之间需要等待协调,才能完成某种工作,问怎么设计这种协调方案。

  27. 用过读写锁吗,原理是什么,一般在什么场景下用。

  28. 开启多个线程,如果保证顺序执行,有哪几种实现方式,或者如何保证多个线程都执行完
    再拿到结果。

  29. 延迟队列的实现方式,delayQueue和时间轮算法的异同。

  30. 点击这里有一套答案版的多线程试题。

猜你喜欢

转载自blog.csdn.net/csdn_baotai/article/details/82142124