java,线程Thread(Runnable target) ?

Python010

java,线程Thread(Runnable target) ?,第1张

你的理解很正确,只要是实现了Runnable接口的类都可以传进去。

这个参数可以是API中已经有的,也可以是自己写的。

常用的创建线程方法有两种,第一种就是继承Thread类,直接new

出来就可以,Thread类本身也实现了Runnable接口。

第二种方法就是实现Runnable接口里面的run方法。

语法正如你的代码一样

java Thread类实现定时调度,可以延迟几秒之后再执行,代码如下:

public class ceshi {

public static void main(String[] args) throws Exception {

// run in a second

final long timeInterval = 1000

Runnable runnable = new Runnable() {

@Override

public void run() {

while (true) {

// ------- code for task to run

System.out.println("Hello !!")

// ------- ends here

try {

Thread.sleep(timeInterval)

} catch (InterruptedException e) {

e.printStackTrace()

}

}

}

}

Thread thread = new Thread(runnable)//线程创建

thread.start()//线程启动

}

}

运行结果:

区别:Thread是类,而Runnable是接口。

抽象类和接口的区别如下:

① 在类来继承抽象类时,只需实现部分具体方法和全部抽象方法,而实现接口则要实现里面的全部方法。

②在接口中无成员变量,而抽象类中可有成员变量。

在Java中引进接口主要是为了解决多继承的问题。

实现多线程主要继承Thread 类和实现Runnable接口。