千家信息网

java守护线程的概念是什么

发表于:2024-11-27 作者:千家信息网编辑
千家信息网最后更新 2024年11月27日,本文小编为大家详细介绍"java守护线程的概念是什么",内容详细,步骤清晰,细节处理妥当,希望这篇"java守护线程的概念是什么"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧
千家信息网最后更新 2024年11月27日java守护线程的概念是什么

本文小编为大家详细介绍"java守护线程的概念是什么",内容详细,步骤清晰,细节处理妥当,希望这篇"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守护线程的概念是什么"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。

0