多线程-实现Runnable接口
当一个任务或者函数多个线程同时调用时仅仅继承Thread是不行的。需要实现Runnable接口。
好处:
1.将线程的任务从线程的子类中分离出来,进行了单独的封装。
按照面向对象的思想将任务封装成对象。
2.避免了java单继承的局限性。
//实现Runnable接口,将线程执行的任务添加到run方法中。
class Demo implements Runnable{
public void run() {
show();
}
public void show (){
for(int i = 0; i< 20;i++) {
System.out.println(Thread.currentThread().getName()+"***"+i);
}
}
}
class ThreadDemo {
public static void main (String[] arg){
Demo d = new Demo();
//创建线程 将需要执行的任务的类对象添加到线程中,当线程对象执行start()函数后,内部会调用任务执行的run方法。
Thread t1= new Thread(d);
Thread t2 = new Thread(d);
t1.start();
t2.start();
}
}
每一步都是一个深刻的脚印