创建线程的方式有几种?
JDK 8 Thread.java 第73行明确指出,有两种 方式!!!
一种方法是:
class PrimeThread extends Thread {
long minPrime;
PrimeThread(long minPrime) {
this.minPrime = minPrime;
}public void run() {
// compute primes larger than minPrime
. . .
}
}
另一种方法是:
class PrimeRun implements Runnable {
long minPrime;
PrimeRun(long minPrime) {
this.minPrime = minPrime;
}public void run() {
// compute primes larger than minPrime
. . .
}
}
Thread 和 Runnable 的区别?
Thread : 对线程的抽象
Thread 也是实现的Runnable接口,并不具备线程功能,需要实例化类来启动线程,已经实例化的资源不能共享, Thread要资源共享,只能声明变量为static
Runnable:对任务(业务逻辑)的抽象
可以实现资源分享