在一个简单易懂的解释中,Java中的Runnable是什么?

用通俗的话来说,Java中的“runnable”是什么? 我是高中的AP编程学生,他的任务是做研究,或者从别人那里寻找“runnable”(我们正在进入OOP,还没有触及线程)。

一个Runnable基本上是一个类(Runnable是一个接口),可以放入一个线程,描述线程应该做什么。

Runnable接口要求类实现run()方法,如下所示:

 public class MyRunnableTask implements Runnable { public void run() { // do stuff here } } 

然后像这样使用它:

 Thread t = new Thread(new MyRunnableTask()); t.start(); 

如果你没有Runnable接口,负责在另一个线程中执行你的东西的Thread类将没有承诺在你的类中findrun()方法,所以你可能会遇到错误。 这就是为什么你需要实现接口。

高级:匿名types

请注意,您不需要像往常一样定义类,您可以执行所有内联操作:

 Thread t = new Thread(new Runnable() { public void run() { // stuff here } }); t.start(); 

这与上面类似,只有你不创build另一个命名类。

Runnable是一个定义如下的接口:

 interface Runnable { public void run(); } 

要创build一个使用它的类,只需将类定义为(public) class MyRunnable implements Runnable {

它甚至可以使用,甚至没有一个新的线程。 它基本上是一个单一的方法的基本接口,运行,可以调用。

如果使用runnable创build一个新的线程作为参数,它将在新线程中调用run方法。

还应该注意的是,线程实现了Runnable ,并且在新线程(在新线程中)时被调用。 默认实现只是调用您在构造函数中递交的任何Runnable,这就是为什么您可以在不重写Thread的run方法的情况下执行new Thread(someRunnable)