创建线程的第二种方式:实现Runnable接口。
1.定义类实现Runnable接口。
2.覆盖接口中的run方法,将线程的任务代码封装到run方法中。
3.通过Thread类创建线程对象,并将Runnable接口的子类对象作为Thread类的构造函数的参数进行传递。
为什么?因为线程的任务都封装在Runnable接口子类对象的方法中。
所以要在线程对象创建时就必须明确要运行的任务。
4.调用线程对象的start方法开启线程。
class Demo implements Runnable
{
private String name;
private int i=0;
public void run()
{
show();
}
public void show()
{
for(int i=0;i<10;i++)
{
System.out.println(Thread.currentThread().getName()+i);
}
}
}
class ThreadDemo
{
public static void main(String[] args)
{
Demo d=new Demo();
Thread d1=new Thread(d);//调用Thread中的构造函数差数是Runnable target
// target 只run方法中被调用的对象 (这个代码里面的Demo的对象)
Thread d2=new Thread(d);
d1.start();
d2.start();
System.out.println("Hello World!");
}
}
|
|