/*
创建线程的第二种方式 实现Runnable接口
因为当一个类已经有父类 无法继承thread类时 考虑第二种方式
1,定义类实现runnable接口
2,覆盖接口中的run方法,将线程的任务代码封装到run方法中
3,通过thread类创建线程对象,并将runnable接口的子类对象作为thread类构造函数的参数进行传递。
为什么?因为线程的任务都封装在runnable接口子类对象的run方法中。
所以要在线程对象创建时就必须明确要运行的任务。
4,调用线程对象的start方法开启线程。
*/
class Fu14
{}
class Demo16 implements Runnable//extends Fu14//准备扩展demo类的功能,让其中的内容可以作为线程的任务执行。
//通过接口来完成功能拓展。
{
public void run()
{
show();
}
public void show()
{
for(int x=0; x<20; x++)
System.out.println(Thread.currentThread().getName()+"..."+x);
}
}
public class ThreadDemo3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// Demo16 d1 = new Demo16();
// Demo16 d2 = new Demo16();
// d1.start();
// d2.start();
Demo16 d = new Demo16();
Thread t1 = new Thread(d);
Thread t2 = new Thread(d);
t2.start();
t1.start();
}
}
多线程III----创建线程的第二种方式
最新推荐文章于 2022-02-05 21:55:06 发布