视频: 【day18】19 尚硅谷 Java语言高级 创建多线程的方式二:实现Runnable接口 2024
的问题对于触发特定倒计时事件的线程,例如淹没启动板,启动事件和解除事件,可以创建另一个名为LaunchEvent的Java类。这个类使用另一种技术来创建和启动线程 - 一个需要更多的代码行,但更灵活。
创建一个扩展Thread类的类的问题是一个类可以拥有一个超类。如果你想让你的线程对象扩展一些其他类呢?在这种情况下,您可以创建一个实现Runnable接口的类,而不是扩展Thread类。
<! --1 - >Runnable接口标记一个可以作为线程运行的对象。它只有一个方法,运行,它包含在线程中执行的代码。 (Thread类本身实现了Runnable,这就是为什么Thread类有一个run方法。)
要使用Runnable接口来创建和启动线程,必须执行以下操作:
-
创建一个实现类Runnable接口。
-
在Runnable类中提供一个运行方法。
-
创建一个Thread类的实例,并将你的Runnable对象作为参数传递给它的构造函数。
创建一个可以运行Runnable类的线程对象。
-
调用线程对象的启动方法。
Runnable对象的run方法被调用,并在一个单独的线程中执行。
这些步骤的前两个很容易。诀窍在第三和第四步,因为你可以用几种方法来完成它们。假设你的Runnable类被命名为RunnableClass,有一种方法:
RunnableClass rc = new RunnableClass();线程t =新线程(rc);吨。开始(); Java程序员喜欢尽可能简洁,所以你经常会看到这个代码被压缩成更像
Thread t = new Thread(new RunnableClass())的东西。吨。开始();
甚至只是这个:
新的线程(新的RunnableClass())。开始();
这个单行版本的作品 - 只要你不需要在程序中稍后访问线程对象。