MyRunnable.java
package com.dym.juc;
/*
* 当线程类已经有父类了,就不能用Thread类的方式来创建线程
* 可以使用实现Runnable接口的方式去创建线程
* 1)定义类 实现Runnable接口
* */
public class MyRunnable implements Runnable{
//2)重写Runnable接口中的抽象方法run()
// run()方法是子线程要执行的代码
@Override
public void run() {
for (int i = 1; i <=100 ; i++) {
System.out.println("sub thread -->"+i);
}
}
}
MyThreadTest3.java
package com.dym.juc;
/*
* 测试实现Runnable接口的形式来创建线程
*
* */
public class MyThreadTest3 {
public static void main(String[] args) {
//3)创建Runnable接口的实现类对象
MyRunnable myRunnable = new MyRunnable();
//4)创建线程对象
Thread thread = new Thread(myRunnable);
//5)开启线程
thread.start();
//当前是main线程
for (int i = 1; i <=100 ; i++) {
System.out.println("main -->"+i);
}
//有时调用Thread(Runnable)构造方法时,实参也会传递匿名内部类对象
Thread thread2=new Thread(new Runnable() {
@Override
public void run() {
for (int i = 1; i <=100 ; i++) {
System.out.println("sub thread2222222222 -->"+i);
}
}
});
thread2.start();
}
}
![](https://img-blog.csdnimg.cn/2021033100301682.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5MzY4MDA3,size_16,color_FFFFFF,t_70)