創建線程的方式有幾種?
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:對任務(業務邏輯)的抽象
可以實現資源分享