通过实现Runnable接口创建线程可避免单继承限制并实现任务与线程解耦,需定义类实现Runnable并重写run()方法,其中包含线程执行的任务逻辑。

在Java中,使用Runnable接口创建线程是一种常见且推荐的方式。它避免了单继承的限制(因为Java类只能继承一个父类),同时实现了任务与线程的解耦。
要使用Runnable接口创建线程,首先需要定义一个类实现Runnable接口,并重写其run()方法。这个方法中包含线程要执行的任务逻辑。
public class MyTask implements Runnable {
public void run() {
for (int i = 0; i < 5; i++) {
System.out.println(Thread.currentThread().getName() + ": " + i);
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
Runnable本身并不是线程,只是一个任务。需要将实现了Runnable接口的对象作为参数传入Thread构造函数,从而创建可运行的线程。
public class Main {
public static void main(String[] args) {
MyTask task = new MyTask();
Thread thread = new Thread(task);
thread.start(); // 启动线程
}
}
由于Runnable是一个函数式接口(只有一个抽象方法),可以使用Lambda表达式来简化代码,特别是在任务逻辑较简单时。
如果你了解HTML,CSS和JavaScript,您已经拥有所需的工具开发Android应用程序。本动手本书展示了如何使用这些开源web标准设计和建造,可适应任何Android设备的应用程序 - 无需使用Java。您将学习如何创建一个在您选择的平台的Android友好的网络应用程序,然后转换与自由PhoneGap框架到一个原生的Android应用程序。了解为什么设备无关的移动应用是未来的潮流,并开始构建应用程序,提供更
2
立即学习“Java免费学习笔记(深入)”;
public class Main {
public static void main(String[] args) {
Runnable task = () -> {
for (int i = 0; i < 5; i++) {
System.out.println(Thread.currentThread().getName() + ": " + i);
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
};
new Thread(task).start();
}
}
这种方式更简洁,适合快速定义轻量级任务。基本上就这些,核心是理解Runnable代表任务,而Thread才是真正的线程执行者。
以上就是在Java中如何使用Runnable接口创建线程的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号