线程--实现Runnable接口
实现Runnable接口,创建线程步骤:
1、定义类,并实现Runnable接口
2、重写Runnable接口中的run()方法
3、通过Thread类建立线程对象
4、将实现了Runnable接口的类作为参数传入Thread类的构造函数
5、调用Thread类对象的start()方法,开始调用Runnable子类的run()方法
Class SynDemo implemets Runable
{
private int i;
SynDemo(int i){
this.i = i;
}
public void run(){
while(true){
if(i > 0){
System.out.printlnt(Thread.currentThread().getName()+"==="+i--);
}
}
}
}
Class TestDemo
{
public static void main(String[] args){
SynDemo syn = new SynDemo();//SynDemo 对象不是个线程,所以需要跟Thread类产生关系需要创建一个Thread类,所以需要告诉Thread线程需要运行的代码
Thread t1 = new Thread(syn);
Thread t2 = new Thread(syn);
Thread t3 = new Thread(syn);
Thread t4 = new Thread(syn);
t1.start();
t2.start();
t3.start();
t4.start();
}
}
实现Runnable类和继承Thread的区别:
java可以多实现,但是只能单继承。
所以实现Runnable对类的影响不大,继承了Thread后就不能在继承其他类。
其实Runnable接口的出现就是解决继承一个类后,还需要继承Thread实现多线程,但是java不支持多继承,由此使用接口进行扩展。
所以基本使用实现Runnable接口创建线程