1. 多線程的實現方式:
繼承Java.lang.Thread類(此類爲Runnable接口的實現類)
實現Java.lang.Runnable接口
都能實現多線程,所謂多線程就是理論上的同時執行某種操作。
2. 實現方式:
(1)、classPrimeThread extends Thread {
longminPrime;
PrimeThread(long minPrime) {
this.minPrime = minPrime;
}
publicvoid run() {
//compute primes larger than minPrime
. . .
}
}
PrimeThread p = new PrimeThread(143);
p.start();
(2)、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();
3. 守護線程以及用戶線程:簡單理解,守護進程是不會阻止JVM的關閉的。當有用戶線程運行時,JVM不能關閉。當沒有用戶線程運行時,有沒有守護線程沒關係,JVM都會關閉。
守護線程:守護線程隨着main結束,而結束。(JVM的垃圾回收線程等爲守護線程)守護線程應用背景:後臺線程(比如可以收集某些系統狀態的線程,發送email的線程,等不希望影響JVM的事情)
用戶線程:平時我們使用的多爲用戶線程,main方法結束也會一直執行。
4. 總結:前臺線程是保證執行完畢的,後臺線程還沒有執行完畢就退出了。
實際上:JRE判斷程序是否執行結束的標準是所有的前臺執線程行完畢了,而不管後臺線程的狀態,因此,在使用後臺縣城時候一定要注意這個問題。