用外行人的话来说,Java中的"runnable"是什么?我是高中的AP编程学生,他的任务是做研究,或者从别人那里寻找"runnable"是什么(我们刚刚进入OOP,还没有触及线程).
opa*_*tut 170
Runnable基本上是一种类(Runnable是一个接口),可以放入一个线程,描述线程应该做什么.
该Runnable接口要求的类的实现方法run()如下所示:
public class MyRunnableTask implements Runnable {
public void run() {
// do stuff here
}
}
Run Code Online (Sandbox Code Playgroud)
然后像这样使用它:
Thread t = new Thread(new MyRunnableTask());
t.start();
Run Code Online (Sandbox Code Playgroud)
如果你没有Runnable接口,那么负责在另一个线程中执行你的东西的Thread类就没有承诺run()在你的类中找到一个方法,所以你可能会遇到错误.这就是你需要实现界面的原因.
请注意,您不需要像往常一样定义类,您可以执行所有内联:
Thread t = new Thread(new Runnable() {
public void run() {
// stuff here
}
});
t.start();
Run Code Online (Sandbox Code Playgroud)
这与上面类似,只是你不创建另一个命名类.
Runnable 是一个定义如下的接口:
interface Runnable {
public void run();
}
Run Code Online (Sandbox Code Playgroud)
要创建一个使用它的类,只需将类定义为 (public) class MyRunnable implements Runnable {
它甚至可以在不创建新线程的情况下使用.它基本上是您使用单个方法运行的基本接口,可以调用.
如果你创建一个带有runnable的新Thread作为它的参数,它将在一个新的Thread中调用run方法.
还应该注意,Threads实现Runnable,并且在创建新Thread时调用(在新线程中).默认实现只调用你在构造函数中传递的Runnable,这就是为什么你可以new Thread(someRunnable)不重写Thread的run方法.
| 归档时间: |
|
| 查看次数: |
102261 次 |
| 最近记录: |