用Runnable接口实现线程的方法主要有两点好处:
1.java中是不允许多继承的,但用Runnable接口实现线程的创建可以间接的实现多继承
2.具有共享性
(推荐使用这种方法创建线程)
具体详细请看下面的例子:
public class TheadDeno {
public static void main(String[] args) {
NewRunnable rb = new NewRunnable();
Thread t1 = new Thread(rb,"一号窗口");
t1.start();
Thread t2 = new Thread(rb,"二号窗口");
t2.start();
}
}
class NewRunnable implements Runnable{
private int ticket = 5;
@Override
public void run() {
while(true) {
System.out.println(Thread.currentThread().getName()+":"+(ticket--));
if(ticket<1)
break;
}
}
}
运行结果如下:
由结果分析可知实现了ticket的共享性,每进行一次操作ticket即减一,如果用常用的Thread方法创建线程则不能实现共享性这个功能(具体在这里就不展示了,可以自己尝试一下)