在Java面试中面试官常常会问这样一道面试题:Java面试题实现线程的几种方式?
这道题看似简单也会难道很多人,下面总结一些实现线程的几种方式。
第一种:通过实现Runnable接口
创建步骤:
- 1、通过实现Runnable接口创建线程执行类
- 2、通过重写Runnable中的run方法,编写线程执行代码
- 3、创建线程Thread对象,将线程执行对象传递给它
- 4、开始线程
第二种:通过继承Thread线程类
创建步骤:
-
1、通过继承Thread线程类创建线程执行类
-
2、定义构造方法,通过super调用父类Thread构造方法 这两个Thread类
构造方法:Thread(String name):name为线程指定一个名字。
Thread():线程名字是JVM分配的。 -
3、通过重写Thread中的run方法,编写线程执行代码
-
4、创建线程执行对象,将参数传递给它
-
5、开始线程
示例代码:
class DogThread extends Thread{
@Override
public void run(){
System.out.println("dog eat");
}
}
class CatRunnable implements Runnable{
@Override
public void run() {
System.out.println("cat eat");
}
}
public class TestThread {
public static void main(String[] args) {
// 方案一:
DogThread dogThread = new DogThread();
dogThread.start();
// 方案二:
Thread thread = new Thread(new CatRunnable());
thread.start();
// 使用内部类写法
Thread t1 = new Thread(new Runnable() {
@Override
public void run() {
System.out.println("cat eat");
}
});
t1.start();
// 使用lambda表达式写法
Thread t2 = new Thread(() ->{
System.out.println("cat eat");
});
t2.start();
}
}
运行结果:
dog eat
cat eat
cat eat
cat eat
关于线程的更多知识点见这篇文章https://blog.csdn.net/weixin_45366499/article/details/104346644
以上内容仅供参考学习,如有侵权请联系我删除!
如果这篇文章对您有帮助,左下角的大拇指就是对博主最大的鼓励。
您的鼓励就是博主最大的动力!