【Java】【多线程】—— 多线程篇

多线程

  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和时间轮算法的异同。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值