创建线程方式二:实现Runnable接口
具体步骤:
实现Runnable接口,重写runnable方法,执行线程需要丢入runnable接口的实现类,调用start方法
代码及其注释:
package com.heima.Multithreading;
//创建线程方式二:实现Runnable接口,重写runnable方法,执行线程需要丢入runnable接口的实现类,调用start方法
public class ImplementRunnable implements Runnable{
//重写run方法
@Override
public void run() {
// super.run();
// run方法线程
for (int i = 0; i < 20; i++) {
System.out.println("买基金的第"+i+"天");
}
}
//main主线程
public static void main(String[] args) {
//创建一个Runnable接口的实现类对象
ImplementRunnable implementRunnable = new ImplementRunnable();
//创建线程对象,通过线程对象来开启线程
// Thread thread = new Thread(implementRunnable);
// thread.start();
new Thread(implementRunnable).start();
for (int i = 0; i < 500; i++) {
System.out.println("我在打游戏"+i);
}
}
}
两种实现方式总结:
继承Thread类
子类继承Thread具有多线程能力
启动多线程:子类对象.start()
不建议使用:避免OOP单继承的局限性
实现Runnable接口
实现Runnable接口具有多线程能力
启动线程L:Thread(传入目标对象).start( )
建议使用:避免单继承的局限性,灵活方便,方便同一个对象被多个线程使用
两者
其实这个与第一个线程实现基本一致。这一个是Thread来调用start,第一个是一个继承了Thread的类调用