实现Runnable接口
第二种创建线程方法,实现runnable接口
- 定义MyRunnable 类实现Runnable 接口
- 实现run()方法,编写线程执行体
- 创建线程对象,调用start()方法启动线程
public class MyRunnable implements Runnable {
@Override
public void run() {
//线程体
for (int i = 0;i<20;i++){
System.out.println("输出=======");
}
}
public static void main(String[] args) {
//创建runnable接口的实现类对象
MyRunnable myRunnable = new MyRunnable();
//创建线程对象,通过线程对象来开启线程(代理)
Thread thread = new Thread(myRunnable);
//开启线程
thread.start();
//匿名内部类简化
//这边的name是线程的名字,myRunnable是实现Runnable接口的对象
//new Thread(myRunnable,"name").start();
for (int i = 0;i<1000;i++){
System.out.println("==========");
}
}
}
小结
-
继承Thread类
-
子类继承Thread类具备多线程能力
-
启动线程:子类对象.start()
-
不建议使用:避免OOP单继承局限性
-
实现Runnable接口
-
启动线程:传入目标对象+Thread对象.start()
-
推荐使用:避免单继承局限性,灵活方便,方便同一个对象被多个线程使用

浙公网安备 33010602011771号