实现runnable接口。
class Demo implements Runnable{
private String name;
Demo(String name){
this.name = name;
}
public void run(){
for(int x=1;x<=20;x++){
System.out.println("name="+name+".."+Thread.currentThread().getName()+".."+x);
}
}
}
class ThreadDemo2{
public static void main(String[]args){
Demo d = new Demo("demo");//并不是线程对象
//创建Thread类对象,将runnable接口的子类对象作为参数传递给Thread类的构造函数。
Thread t1 = new Thread(d);
Thread t2 = new Thread(d);
//将线程启动
t1.start();
t2.start();
System.out.println();
}
}
线程从0开始编号。
基本步骤:
1,定义类实现Runnable接口
2,覆盖接口中的run方法,将线程任务代码定义到run方法中。
3,创建Thread类的对象。
4,将Runnable接口中的子类对象作为参数传递给Thread类的构造函数
5,调用Thread类的start方法开启线程。
一般开发时采用实现Runnable接口这种方式,这种方式好处是避免了单继承的局限性。