温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java Runnable 可运行是什么

发布时间:2026-10-05 01:28:22 来源:亿速云 阅读:87 作者:小樊 栏目:编程语言

在 Java 里,Runnable 是一个接口,用来表示“可以被线程执行的任务”,也就是“可运行的任务”。


1️⃣ Runnable 是什么

Runnable 是 Java 标准库中的一个接口:

public interface Runnable {
    void run();
}

它只有一个方法:

  • run():线程启动后要执行的代码

2️⃣ “可运行”是什么意思

“可运行(Runnable)”指的是:

这段逻辑已经准备好,可以被线程拿去执行

但注意:

  • 实现 Runnable 不会自动创建或启动线程
  • 它只是“任务”,不是“线程”

3️⃣ 为什么用 Runnable(而不是 Thread)

方式一:继承 Thread(不推荐)

class MyThread extends Thread {
    public void run() {
        System.out.println("运行");
    }
}

问题:

  • Java 是单继承,限制了类的扩展
  • 任务和线程耦合

方式二:实现 Runnable(推荐 ✅)

class MyTask implements Runnable {
    public void run() {
        System.out.println("任务执行");
    }
}

使用线程执行:

Thread t = new Thread(new MyTask());
t.start(); // 线程启动,调用 run()

✅ 优点:

  • 任务与线程分离
  • 可实现多接口
  • 更适合线程池

4️⃣ Runnable 在多线程中的角色

Thread(线程)
   ↓ 执行
Runnable(任务)

常见用法:

  • new Thread(Runnable)
  • 线程池 ExecutorService.submit(Runnable)

5️⃣ 现代写法(Lambda)

因为 Runnable 是函数式接口,可以用 Lambda:

Runnable r = () -> {
    System.out.println("可运行任务");
};

new Thread(r).start();

6️⃣ Runnable vs Callable

对比 Runnable Callable
返回值 无 有
异常 不能抛 checked 可以
使用场景 简单任务 有结果任务

✅ 一句话总结

Runnable 就是“可以被线程运行的任务”,它定义了线程要做什么,但不负责运行本身。

如果你愿意,我也可以帮你画一张 线程 vs Runnable 的关系图,或者讲 线程状态中的 RUNNABLE 状态(容易混淆)。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手