package runnable.demo;
/*
* 线程的第二种实现方式 - 实现 runnable 的接口\
* 备注: start()方式是 thread 独有的,如果用runnable 实现的话 就不能用 start()方式开启线程
* 解决方法:thread 类提供了两种构造方法 ,接收runnable子类的实例化对象
* 1、 分配新的 Thread 对象。
* 2、Thread(Runnable target, String name) 分配新的 Thread 对象。
*/
// 写一个类去实现 runnable接口
class RunnableDemo implements Runnable {
//构造方法为属性赋值
private String name;
public RunnableDemo(String name){
this.name = name;
}
//重写run()方法
public void run(){
for (int i = 0; i <10; i++) {
System.out.println(name+"i="+i);
}
}
}
public class ImplementRunnableDemo {
public static void main(String[] args) {
// new 两个实例化对象出来
RunnableDemo rd = new RunnableDemo("线程A");
RunnableDemo rd2 = new RunnableDemo("线程A");
//通过 thread 构造方法 创造新的Thread 对象 Thread(Runnable target)
Thread th1 =new Thread(rd);
Thread th2 = new Thread(rd2);
//因为 th1,th2 是thread类型的,所以可以调用start()方法
th1.start();
th2.start();
}
}