我相信有不少参加过面试的老铁都遇上过这么几个个问题
1.线程的创建方式有哪几种
2.怎么才能实现多线程
3.最常用的是哪一种,为什么
问题的内容大概如此,看上去并不是多难,也不是很高端的问题,几乎没有技术含量。但是有太多的人说不清楚
如果我没记错的话
1.创建线程的方法有这么三种:
1. 继承Thread类,并重写Thread类的run()方法
MyThread myThread01 = new MyThread();
2. 实现Runnable接口
(Thread thread = new Thread(Runnable target); target为实现了Runnable接口的类
a) 定义类实现Runnable接口。
b) 覆盖接口中的run方法。。
c) 创建Thread类的对象
d) 将Runnable接口的子类对象作为参数传递给Thread类的构造函数。
e) 调用Thread类的start方法开启线程。
3. 匿名内部类
new Thread(){
run(){
……………
}
}.start();
创建线程的方法有了,怎么实现多线程就不用细说了吧,,,上面也给出了一些解释至于哪种创建线程的方式最常用,这里涉及了以下几个方面需要考虑考虑:
1. java单继承多实现的特性
2.代码的冗余量
3.所写代码是否易于扩展
综上所述 最常用的应该是实现接口的方法
(上述均为个人理解和观点,如有不妥之处或者误区,望老铁多多指正。大家共同学习,抱拳了,各位!)