多线程详解

重点,好好看下吧。然后大家先掌握基础的就行,并发的那部分比较难,大家有时间再去看课程大纲的 Java并发。

面试提问方式(都是真题,越上面的题问的越多)

PS:这些全部来源于 八股文考点全方位分析

1、Java多线程基础这块,就不总结了,感觉没什么好总结的,直接看下面的提问方式吧,比较杂。

2、进程和线程的区别;

3、创建线程的方式;

4、如何停止一个线程的运行

5、Runnable和Callable创建线程有什么区别?

6、Thread类和Runable接口的最大区别是什么?

7、线程的几种状态,以及状态的转换

8、线程的生命周期 感觉这个应该跟状态区分一下 生命周期说一下过程啥的

9、什么是线程安全?为什么不安全?

10、阻塞状态和等待状态的区别

11、怎么实现线程安全

12、锁怎么实现线程安全

13、 多线程什么场景下会发生死锁 , 有什么具体的办法可以避免死锁

14、wait和sleep的区别,没有说清楚,HR提醒用wait时会释放锁,sleep不会

15、多线程了解吗,为什么要多线程。如何启动一个线程,主动说了start和run的区别

16、多线程环境下为什么要引入同步的机制

17、为什么要线程安全,举例子,说了数据库脏读的例子, Java方面不清楚,面试官给了非元子性的操作 i++的例子怎么实现线程安全

18、volatile的作用和原理

19、什么是原子性

20、volatile能不能保证原子性

21、Java里面的锁有哪些?

22、java里面的线程和操作系统的线程一样吗?

23、wait-notify、线程的状态

24、notify 和 notifyAll 的区别

发表评论

后才能评论