赞
踩
两种方式都是使用start()方法,start方法内调用了run方法,如果直接调用run方法,那么就相当于没有开启线程而直接调用的run方法。
方式一:
Thread thread1 = new Thread(() -> System.out.println("Hello World from Runnable!"));
thread1.start();
方式二:
Thread thread2 = new Thread() {
@Override
public void run() {
System.out.println("Hello World from subclass!");
}
};
thread2.start();
优势:
优势:编写简单,如果要获得当前线程直接this即可
劣势:线程类继承了Thread,不能在继承其他类
相对而言,用Runnable的方式更好,具体可以根据当前需要而定;使用 Lambda 表达式 + 匿名内部类实现超轻松。
喵呜面试助手: 一站式解决面试问题,你可以搜索微信小程序 [喵呜面试助手] 或关注 [喵呜刷题] -> 面试助手 免费刷题。如有好的面试知识或技巧期待您的共享!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。