public class E_runnable {
/**
* 线程创建的第二种方式
* @author Administrator
*
*/
public static void main(String[] args) {
/*
* 使用Runnable的作用是
* 线程与线程体 解耦
* 使得线程与其运行的任务分离开,
* 即线程t1和t2与run()方法体分开
*/
Runnable r1 = new Person3();
Runnable r2 = new Person4();
//Runnable类对象可以作为Thread类的构造器的参数
Thread t1 = new Thread(r1);
Thread t2 = new Thread(r2);
t1.start();
t2.start();
}
}
class Person3 implements Runnable{
public void run() {
for(int i=0;i<1000;i++){
System.out.println("你是谁啊?");
}
}
}
class Person4 implements Runnable{
public void run() {
for(int i=0;i<1000;i++){
System.out.println("我是修电表的");
}
}
}
以上方式可以精简为直接以Runnable的匿名内部类的方式作为Thread的参数,然后直接start,代码如下:
new Thread(
new Runnable() {
@Override
public void run() {
for(int i=0;i<1000;i++){
System.out.println("我是以Runnable的内部类的方式作为Thread的参数,且直接start");
}
}
}
).start();