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