Runnable:
1.实现接口runnable具有多线程能力
2.启动线程:传入目标对象+Thread对象.start()
3.推荐使用:避免单继承局限性,灵活方便,方便同一个对象被多个线程使用
接下来创建线程方式2:实现runnable接口,重写run方法,执行线程需要丢入runnable接口实现类
代码如下:
public class TestThread3 implements Runnable{
@Override
public void run() {
//run方法线程体
for(int i = 0 ; i < 20 ; i++) {
System.out.println("我是T线程"+i);
}
}
public static void main(String[] args) {
//main线程,主线程
//创建runnable接口的实现类对象
TestThread3 testThread3 = new TestThread3();
/*//创建线程对象,通过线程对象来开启我们的线程,代理
Thread thread = new Thread(testThread3);
//创建start()方法开启线程
thread.start();*/
new Thread(testThread3).start();//简写方法(详细方法如上)
for(int i = 0 ; i < 200 ; i++) {
System.out.println("我是主线程"+i);
}
}
}
runnable与thread的相同点:都需要重写run方法。
runnable与thread的不同点:runnable开启线程的方式需要通过线程对象开启线程,而thread不需要。