这是正确的。您实现(或覆盖)
run
-线程的并行处理方法,但是
通话时的重要区别
运行
VS呼叫
start
.
没有什么特别的
运行
方法。打电话
运行
将像对常规方法的任何调用一样运行,并且控件在
运行
方法已完成。魔法发生在
开始
. 打电话时
开始
控件将立即返回到调用方,并生成具有
运行
方法作为入口点。
因此,例如,如果要在不同的线程中同时执行两个任务,可以执行如下操作:
Thread t = new Thread() {
public void run() {
doTask1();
}
};
// Spawn a new thread that doTask1. (don't call run here!)
t.start();
// Control returns immediately while thread t is busy with doTask1.
doTask2();
示例运行:
Thread t = new Thread() {
public void run() {
try {
Thread.sleep(1000);
System.out.println("Slept for 1 second.");
} catch (InterruptedException e) {
}
}
};
t.run();
System.out.println("Returned from run.");
t.start();
System.out.println("Returned from start.");
产量产出
(one second pause)
Slept for 1 second.
Returned from run.
Returned from start.
(one second pause)
Slept for 1 second.