//创建多线程的方式二:通过实现的方法
/*
- 1.创建一个实现了Runnable接口的类
- 2.实现接口的抽象方法
- 3.创建一个Runnable接口实现类的对象
- 4.将此对象作为形参传递给Thread类的构造器中,创建Thread的对象,此对象
- 为一个线程
- 5.调用stat()方法启动线程并执行run()
- 对比 继承的方式vs实现的方式
- 1.联系:public calss Thread implements Runnable
- 2.哪个方式好?实现的方式由于继承的方法
- why? ①避免了单继承的局限性
-
②如果多个线程要操作同一份资源或数据,更适合
-
使用实现的方式
*/
public class TestThread {
public static void main(String[] args) {
PrintNum1 p1 = new PrintNum1();
//要想启动一个多线程,必须调用start()
Thread t1 = new Thread(p1);
t1.start();//启动线性,启动Thread对象生成时构造器形参的run()
//再创键一个线程
Thread t2 = new Thread(p1);
t2.start();
}
}
class PrintNum1 implements Runnable{
public void run() {
for(int i = 1;i <= 100;i++) {
System.out.println(Thread.currentThread().getName() + ":" +i);
}
}
}