如何建立一个执行路径呢?
通过查询API文档 java.lang.Thread类
该类的描述中有创建线程的两种方式
1.继承Thread类
(1).将类声明为 Thread 的子类
(2).该子类应重写 Thread 类的 run 方法
(3).创建子类对象就是创建线程对象
(4).调用Thread类中的start方法就可以执行线程,炳辉调用run()方法
Eg:计算大于某一规定值的质数的线程可以写成:
1 class PrimeThread extendsThread {2 longminPrime;3 PrimeThread(longminPrime) {4 this.minPrime =minPrime;5 }6
7 public voidrun() {8 //compute primes larger than minPrime
9 . . .10 }11 }
然后,通过下列代码会创建并启动一个线程:
PrimeThread p = new PrimeThread(143);
p.start();
start()开启线程后,都会执行run()方法.说明run()方法中存储的是线程要运行的代码;所以,记住自定义线程的任务代码都存储在run()方法中
2.声明实现 Runnable 接口
(1).定义一个类,实现runnable
(2).覆盖runnable接口中的run方法,先线程要运行的任务代码存储到该方法中
(3).描述Thread类创建线程对象,并将实现了Runnable接口的对象作为Thread类的构造函数的参数进行传递
(4).调用Thread类的start方法,开启线程
class PrimeRun implements Runnable {
long minPrime;
PrimeRun(long minPrime) {
this.minPrime = minPrime;
}
public void run() {
// compute primes larger than minPrime
. . .
}
}
然后,下列代码会创建并启动一个线程:
PrimeRun p = new PrimeRun(143);
new Thread(p).start();
At:调用Start方法和调用run方法的区别?
调用start会开启线程,让开启的线程去执行run方法中的线程任务,
直接调用run方法,线程并未开启,去执行run方法的只有主线程(main)。