线程实现方式2:实现Runnable接口
实现Runnable接口
如何获取线程名称
如何给线程设置名称
实现接口方式的好处
可以避免由于Java单继承带来的局限性。
适合多个相同程序的代码去处理同一个资源的情况,把线程同程序的代码,数据有效分离,较好的体现了面向对象的设计思想。
例子1:
public classMyRunnable implementsRunnable {
@Override
public void run() {
for (int x = 0; x < 100; x++){
// 由于实现接口的方式就不能直接使用Thread类的方法了,但是可以间接的使用
System.out.println(Thread.currentThread().getName()+ ":"+ x);
}
}
}
/*
* 方式2:实现Runnable接口
* 步骤:
* A:自定义类MyRunnable实现Runnable接口
* B:重写run()方法
* C:创建MyRunnable类的对象
* D:创建Thread类的对象,并把C步骤的对象作为构造参数传递
*/
public classMyRunnableDemo {
public static void main(String[] args) {
// 创建MyRunnable类的对象
MyRunnablemy = newMyRunnable();
// 创建Thread类的对象,并把C步骤的对象作为构造参数传递
// Thread(Runnable target)
// Thread t1 = new Thread(my);
// Thread t2 = new Thread(my);
// t1.setName("林青霞");
// t2.setName("刘意");
// Thread(Runnable target, String name)
Threadt1 = newThread(my, "线程一");
Threadt2 = newThread(my, "线程二");
t1.start();
t2.start();
}
}