java多线程编程之使用runnable接口创建线程


在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`方法的线程中。