前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >精选30道Java多线程面试题

精选30道Java多线程面试题

作者头像
Java技术栈
发布2018-03-30 11:12:42
7850
发布2018-03-30 11:12:42
举报
文章被收录于专栏:Java技术栈

1、线程和进程的区别

2、实现线程有哪几种方式?

3、线程有哪几种状态?它们之间如何流转的?

4、线程中的start()和run()方法有什么区别?

5、怎么终止一个线程?如何优雅地终止线程?

6、ThreadLocal在多线程中扮演什么角色?

7、线程中的wait()和sleep()方法有什么区别?

8、多线程同步有哪几种方法?

9、什么是死锁?如何避免死锁?

10、多线程之间如何进行通信?

11、线程怎样返回结果?如何获取?

12、说说violatile关键字有什么用,和Synchronized有什么区别?

13、假如新建T1、T2、T3三个线程,如何保证它们按顺序执行?

14、怎么控制同一时间只有3个线程运行?

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

16、说一说常用的几种线程池并讲讲其中的工作原理。

17、线程池启动线程submit()和execute()有什么不同?

18、说说多线程并发控制中的倒计时器、循环栅栏是什么,有什么应用场景?

19、什么是活锁、饥饿、无锁、死锁?

20、什么是原子性、可见性、有序性?

21、什么是守护线程?有什么用?

22、怎么中断一个线程?如何保证中断业务不影响?

23、yield()方法有什么用?

24、什么是重入锁,和Synchronized锁有什么区别?

25、Synchronized有哪几种用法?

26、Fork/Join框架是干什么的?

27、如何给线程传递参数?

28、说说线程安全的和不安全的集合。

29、什么是CAS算法?在多线程中有哪些应用。

30、你遇到过哪些多线程的问题?都是如何解决的?

之前的文章分享了很多关于多线程方面的知识,现在可以考验下大家多线程的功力了。这里不一一给出答案,上面有些没有讲过的点大家可以自行学习,也可以关注公众号以后的文章。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-07-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java技术栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档