java多线程问题

1、创建多线程的方式有几种

2、如何实现业务拆分成多线程并发执行,最后合并?

3、描述线程的周期和各种状态的转换

4、start和run的区别

5、关闭一个线程有几种方式,哪种方法比较优雅

6、sleep、wait、yield三种方法的区别?

7、join方法有何作用

8、实现多线程同步的几种关键字或方式,说出他们区别。

9、多线程并发的三大特性是什么?

10、线程池的概念?java提供的线程池包如何创建线程池?简单描述种类和区分,如何创建。

11、当线程池过大线程池应当如何处理?

12、什么是HOOK钩子线程?

13、线程之间是如何通信的?

14、描述一下多线程的生产消费模式?

15、死锁的原因、类型、如何避免?

16、线程如何拿到返回结果?

17、为什么要使用线程池?

18、线程池的submit和execute启动线程的区别?

19、Fork/Join框架的作用?

20、线程安全的数据类型和集合有哪些?

21、保证“可见性”有哪些方式?

22、Thread.sleep(0)有什么用?

23、JVM内存模型哪些是线程共享,哪些是私有的?

24、什么是悲观锁什么是乐观锁?

25、ThreadLocal是什么?有什么应用场景?

26、FutureTask是什么?

27、为什么wait, notify 和 notifyAll这些方法不在thread类里面?

28、什么是Future, FutureTask?

29、Java中堆和栈有什么不同?

30、编写一个生产消费者的java案例

31、编写一个死锁的java案例

32、怎么检测一个线程是否拥有锁?

 

 

转载于:https://my.oschina.net/u/3697586/blog/3007605

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值