之前讲了继承 Thread 类实现多线程,但是有个问题,我们都知道java里面继承都是单继承的,不能多继承,那我要是要想实现一个类后再实现线程呢,那怎么办,那就得用 实现 Runable 接口得方法了,因为我们都知道接口是可以多实现得
代码如下:
/**
* 实现多线程之实现 Runable
* @author snow
*
*/
public class RunableDemo implements Runnable {
private int tick = 100;
@Override
public void run() {
while(true) {
if(tick<0) {
break;
}
System.out.println( Thread.currentThread().getName() + "抢到了第==>"+ (tick--) +"张票" );
}
}
public static void main(String[] args) {
// 创建卖票实例,这个才是卖票的
RunableDemo tick = new RunableDemo();
// 创建代理买票的
Thread t1 = new Thread(tick, "子强");
Thread t2 = new Thread(tick, "黄牛");
Thread t3 = new Thread(tick, "领导");
Thread t4 = new Thread(tick, "黄牛2");
// 开始买票
t1.start();
t2.start();
t3.start();
t4.start();
}
}
看到这个模式是不是有点眼熟~,这个就是我上篇文章中说的,静态代理设计模式
运行效果如图: