面试官:大四是吧?
小白:是的,学校大四没有课,只有毕业设计,就想着提前出来锻炼锻炼。
面试官:想法很好,那咱们开始吧,知道线程吧!
小白:嗯,线程是CPU执行的最小单位,可以简单的理解为一个任务。
面试官:说的不错呀!那怎么实现一个线程呢?
小白:实现一个线程基本上都是通过继承Thread类或者实现Runnable接口,把run方法实现了。
面试官:二者有什么区别吗?
小白:继承Thread类的话无法再继承其它类,但是直接new一个线程的话比较方面,实现Runnable接口的话比较灵活,可以实现多继承,对于以后的扩展比较好。
面试官:回答的非常好,比一些工作一两年的程序员回答的都要透彻。那么开始一个线程呢?
小白:调用start方法。
面试官:如果new一个线程A,直接调用A的run方法可以吗?这个run方法在哪个线程中工作?
小白:可以,如果是调用A的start方法,run方法是执行在子线程中,你现在是直接调用run方法,等于是一个类很平常的调用它自己的方法,此时run方法是在主线程工作的。
面试官:回答的很好,继续下一个问题
.........
线程的基础知识在面试中基本上是百分之二百的复现率,同学们一定要把线程知识学习好。另外再补充一些线程的知识,创建一个线程还有另外的方法,使用Executor框架来创建线程池,这些是Java的高级知识,最好也要掌握。