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判断程序是否执行结束的标准是所有的前台执线程行完毕了,而不管后台线程的状态,因此,在使用后台县城时候一定要注意这个问题。