- 实现Runnable接口
步骤
1 实现Runnable接口。
2 覆盖接口中的run方法,将线程中想要实现的任务封装到run函数中。
3 通过Thread类创建线程对象,并将Runnable接口的子类作为Thread类的构造函数的参数进行传值。
为什么?
因为线程的任务都封装在Runnable接口的run方法中, 所以要在线程对象创建的时候必须要明确要执行的任务。
4 调用线程中的start方法开启线程。
/*
使用实现Runnable接口创建线程
*/
class D implements Runnable {
@Override
public void run() {
show();
}
public void show()
{
for(int i = 0; i < 5; i++)
{
System.out.println("name:" +Thread.currentThread().getName()+"——i="+ i);
}
}
}
public class SecondMethod {
public static void main(String[] args) {
// TODO Auto-generated method stub
D d = new D();
Thread t1 = new Thread(d);
Thread t2 = new Thread(d);
t1.start();
t2.start();
}
}
运行结果截图
比较两种方法,一种是继承Thread,一种是实现Runnable接口。两者的优越性,第二种较好。理由如下:
1 Runnable是将线程的任务进行了对象封装,更符合面向对象的要求。
2 避免了Java单继承的缺点。
网友评论