实现Runnable接口
推荐使用Runnable对象,因为Java单继承的局限性。
TestThread03.java
package com.mysoft.demo01;
//创建线程方式2:实现runnalbe接口,重写run方法,执行线程需要丢入runnable接口实现类。调用start方法。
public class TestThread03 implements Runnable {
@Override
public void run() {
//run方法线程体
for (int i = 0; i < 1000; i++) {
System.out.println("我在看代码---" + i);
}
}
public static void main(String[] args) {
//创建runnable接口的实现类对象。
TestThread03 testThread03 = new TestThread03();
//创建线程对象,通过线程对象来开启我们的线程,代理。
//Thread thread = new Thread(testThread03);
//thread.start();
new Thread(testThread03).start();
for (int i = 0; i < 1000; i++) {
System.out.println("我在学习多线程----" + i);
}
}
}
实行结果的一部分:
...
我在看代码---16
我在看代码---17
我在看代码---18
我在看代码---19
我在学习多线程----0
我在看代码---20
我在学习多线程----1
我在看代码---21
我在学习多线程----2
我在看代码---22
我在学习多线程----3
我在看代码---23
我在学习多线程----4
我在看代码---24
我在学习多线程----5
我在看代码---25
...
两个for循环的输出是交错输出的。
小结:
继承Thread类 和 实现Runnable接口 两者的区别:
实现Runnable接口:方便同一个对象被多个线程使用。