千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > java守护线程如何理解

java守护线程如何理解

来源:千锋教育
发布人:qyf
时间: 2022-08-04 17:07:52 1659604072

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程序员梦想。

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT