这个参数可以是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接口。