看代码就能懂
public class Demo implements Runnable {
int i = 100;
@Override
public void run() {
while (i>0) {
System.out.println("我的线程:正在执行!"+--i);
}
}
public static void main(String[] args) {
//创建线程执行目标类对象
Runnable dada = new Demo();
//将Runnable接口的子类对象作为参数传递给Thread类的构造函数
Thread thread1 = new Thread(dada);
Thread thread2 = new Thread(dada);
Thread thread3 = new Thread(dada);
//使用start方法会告诉虚拟机开启多线程,结果就会乱序
// thread1.start();
// thread2.start();
// thread3.start();
thread1.run();//单纯使用thread1.run()thread2.run()thread3.run()方法就只是用main方法的线程去调用线程对象的方法所以结果就会是顺序
thread2.run();
thread3.run();
for (int i = 0; i < 10; i++) {
System.out.println("Main线程:正在执行!" + i);
}
}
}