在Java中,使用`Runnable`接口创建线程是一种常见的做法,尤其是当你需要让你的线程类继承自另一个类时(因为Java不支持多重继承,但可以实现多个接口)。下面是一个简单的例子,展示了如何使用`Runnable`接口来创建并启动一个线程。
// 定义一个实现了Runnable接口的类
class MyRunnable implements Runnable {
@Override
public void run() {
// 在这里编写你的线程要执行的任务
System.out.println("线程运行中...");
// 模拟耗时操作
try {
Thread.sleep(1000); // 让线程休眠1秒
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public class RunnableExample {
public static void main(String[] args) {
// 创建MyRunnable的实例
Runnable myRunnable = new MyRunnable();
// 通过Thread类的构造器,将Runnable实例作为参数传入
// 这将创建一个新线程
Thread thread = new Thread(myRunnable);
// 启动线程
thread.start();
// 主线程继续执行,不会阻塞在这里等待新线程完成
System.out.println("主线程继续执行...");
}
}
在这个例子中,`MyRunnable`类实现了`Runnable`接口,并覆盖了`run`方法。然后,我们创建了`MyRunnable`的一个实例,并将它作为参数传递给了`Thread`类的构造器,从而创建了一个新的线程。最后,通过调用`start`方法启动了这个线程。注意,`start`方法会调用`Runnable`实例的`run`方法,但具体的执行是在新线程中进行的,而不是在调用`start`方法的线程中。