java守护线程如何理解

美女程序员鼓励师

1、当其他非守护线程完成时,守护线程将自行结束。

2、任何线程都可以成为守护线程。通过调用Thread.setdaemon()来声明一个线程是一个守护线程。线程的共性是只有在非守护线程还在工作时才有意义。

实例

/**

 * Creates ten threads to search for the maximum value of a large matrix.

 * Each thread searches one portion of the matrix.

 */

public class TenThreads {

 

    private static class WorkerThread extends Thread {

        int max = Integer.MIN_VALUE;

        int[] ourArray;

 

        public WorkerThread(int[] ourArray) {

            this.ourArray = ourArray;

        }

 

        // Find the maximum value in our particular piece of the array

        public void run() {

            for (int i = 0; i < ourArray.length; i++)

                max = Math.max(max, ourArray[i]);

        }

 

        public int getMax() {

            return max;

        }

    }

 

    public static void main(String[] args) {

        WorkerThread[] threads = new WorkerThread[10];

        int[][] bigMatrix = getBigHairyMatrix();

        int max = Integer.MIN_VALUE;

 

        // Give each thread a slice of the matrix to work with

        for (int i=0; i < 10; i++) {

            threads[i] = new WorkerThread(bigMatrix[i]);

            threads[i].start();

        }

 

        // Wait for each thread to finish

        try {

            for (int i=0; i < 10; i++) {

                threads[i].join();

                max = Math.max(max, threads[i].getMax());

            }

        }

        catch (InterruptedException e) {

            // fall through

        }

 

        System.out.println("Maximum value was " + max);

    }

}

以上就是java守护线程的理解,希望对大家有所帮助。更多Java学习指路:Java基础

推荐操作环境:windows7系统、java10版,DELL G3电脑。

以上是 java守护线程如何理解 的全部内容, 来源链接: utcz.com/z/546361.html

回到顶部