本帖最后由 joure 于 2013-11-18 10:55 编辑
创建新执行线程有两种方法。一种方法是将类声明为 Thread 的子类。该子类应重写 Thread 类的 run 方法。接下来可以分配并启动该子类的实例。例如,计算大于某一规定值的质数的线程可以写成:
--------------------------------------------------------------------------------
class PrimeThread extends Thread {http://edu.csdn.net/subject/net/index.shtml?vm1
long minPrime;
PrimeThread(long minPrime) {
this.minPrime = minPrime;
}
public void run() {
// compute primes larger than minPrime
. . .
} }
--------------------------------------------------------------------------------
然后,下列代码会创建并启动一个线程:
PrimeThread p = new PrimeThread(143);
p.start();
上面是API中的帮助说明,调用run和start有什么具体的区别呢? 我的理解是 通过start开辟一个线程,通过run来执行和终结线程。
我想知道start和run的运行过程是怎样的呢?
他们各自可以单独调用吗?run可以开辟线程吗? |