Java 中的可运行接口:实现、步骤和错误

已发表: 2021-05-02

目录

介绍

Java中可运行接口是其实例可以作为线程运行的接口。 在使用线程时,可运行接口充当 Java 编程语言的核心元素。 为运行线程而创建的 Java 类必须实现此接口。 本文将带你深入了解Java中的runnable接口及其实现过程。

Java中的可运行接口是什么?

可运行接口是包含单个方法的接口。 Java 程序在 java.lang 包中定义了这个方法,并在执行线程类时调用它。 它为类可以使用线程实现的对象提供模板。 您可以通过以下方式之一在 Java 中实现可运行接口:

  • 使用子类线程
  • 重写 run() 方法

Java 不允许程序中的多重继承。 你只能扩展一个类,当你扩展一个线程类时,它会消耗更多的内存、计算时间和其他资源。 因此,它增加了使用其他方法的开销。 在以上两个选项中,最好使用可运行接口来创建线程。 为此,您必须提供 run() 方法的实现。

在 Java 中使用 Runnable 接口创建线程的步骤

执行以下步骤以使用Java中的可运行接口创建线程

  1. 创建一个将实现可运行接口的线程类。
  2. 在线程类中,编写一个函数来覆盖 run() 方法。
  3. 创建 Thread 类的实例。
  4. 线程实例有一个接受可运行对象的构造函数。 将此对象作为参数传递给线程实例。
  5. 最后调用线程实例的start方法。

另请阅读: Java 项目理念和主题

Java中Runnable接口的实现

run() 方法的实现是创建新线程的最简单方法。 它充当创建新线程的起点。 runnable 接口实现使用 run() 方法中的代码并在并发线程上执行它。 您可以调用类、创建新变量或调用 run() 方法中的操作以在 Java 中实现可运行接口 程序确保线程处于非活动状态,直到它在代码中打印 return 语句。

公共类 TestRunnableInterface {

公共静态无效主要(字符串[]参数){

System.out.println(“来自primary()方法:” + Thread.currentThread().getName());

System.out.println(“在Java中实现runnable接口”);

可运行实例 = new Runnable() {@Override

公共无效运行(){

System.out.println(“来自run()方法:” + Thread.currentThread().getName());

}

};

System.out.println(“创建线程对象的新实例。”);

线程测试 = 新线程(实例);

System.out.println(“正在执行线程!”);

test.start();

}

}

输出

从 primary() 方法:main

在 Java 中实现可运行接口

创建线程对象的新实例。

来自 run() 方法:Thread-0

在 Java 中实现 Runnable 接口时遇到的错误

当程序由于语法或代码错误而中断时,run() 方法会引发运行时异常错误。 如果 Java 虚拟机没有检测到错误,则创建的线程会处理 JVM 遗漏的异常。 异常处理程序打印异常并停止程序。

导入 java.io.FileNotFoundException;

公共类 TestRunnableInterface {

公共静态无效主要(字符串[]参数){

System.out.println(“主线程为:” + Thread.currentThread().getName());

线程测试 = new Thread(new TestRunnableInterface().new DemoInstance());

test.start();

}

私有类 DemoInstance 实现 Runnable {

公共无效运行(){

System.out.println(Thread.currentThread().getName() + “, 调用 run() 方法!”);

尝试 {

抛出新的 FileNotFoundException();

}

捕获(FileNotFoundException 演示){

System.out.println(“发生错误!”);

demo.printStackTrace();

}

}

}

}

输出

主线程是:main

Thread-0,调用 run() 方法!

发现错误!

java.io.FileNotFoundException

在 TestRunnableInterface$DemoInstance.run(Example.java:21)

在 java.lang.Thread.run(Thread.java:748)

上述程序中的TestRunnableInterface类没有抛出FileNotFoundException异常。 Java 虚拟机负责处理应该由 TestRunnableInstance 类处理的异常。

Java 中可运行接口的用例

Java中可运行接口用于服务器从客户端接收多个连接请求的网络场景。 Java 中可运行接口通过执行多线程编程来快速有效地处理它。

从世界顶级大学在线学习软件开发课程获得行政 PG 课程、高级证书课程或硕士课程,以加快您的职业生涯。

结论

简而言之,在 Java中创建线程时,与子类线程相比,Java 中的可运行接口始终是更好的选择。 本文中使用的代码仅用于说明目的。 您可以根据需要修改示例中给出的语句。 在本文中,我们了解了Java 中的可运行接口以及如何通过在 Java 中实现可运行接口来创建线程

您可以尝试代码来加强您的Java构造函数的知识。 如果您想深入了解 Java,请查看 upGrad Executive PG Program in Full Stack Development课程。 本课程专为在职专业人士而设计,并为顶级公司提供严格的培训和工作帮助。

Java中的多线程是什么?

多线程是 Java 中的一个概念,其中任务是同时执行的。 它允许程序同时执行许多不同的任务,而不是等待单个任务完成。 它是 Java 和 Java 开发人员最热门的话题之一。 多线程是java非常强大的特性之一。 它通过运行多个线程有效地使用 CPU。 Java 有一个特殊的构造,称为线程。 线程基本上是一个可以执行任意 Java 字节码指令序列的软件进程。 每个线程的执行独立于其他线程。 开发人员可以随时创建新线程,JVM 将处理该线程的执行。 这有助于开发高度可扩展且响应迅速的应用程序。

Java中的可运行接口是什么?

runnable 接口用于编写可以在单独的线程中运行的应用程序。 任何实现可运行接口的类都称为线程。 线程的代码在线程启动后由解释器执行。 您可以实现可运行接口并创建自己的多线程程序。 有两种方法可以实现这个接口。 第一个是使用线程子类。 另一种是通过覆盖 run() 方法。

多线程实际上是如何工作的?