1 package com.xt.thinks21_2;
 2
 3 import java.util.concurrent.TimeUnit;
 4
 5 /**
 6  * 后台线程测试
 7  *
 8  * @author Administrator
 9  *
10  */
11 public class SimpleDaemonTest implements Runnable {
12
13     @Override
14     public void run() {
15         // TODO Auto-generated method stub
16         while (true) {
17             try {
18                 TimeUnit.MILLISECONDS.sleep(100);
19                 System.out.println(Thread.currentThread() + ":" + this);
20             } catch (InterruptedException e) {
21                 // TODO Auto-generated catch block
22                 e.printStackTrace();
23             }
24         }
25     }
26
27     public static void main(String[] args) {
28         for (int i = 0; i < 10; i++) {
29             Thread t = new Thread(new SimpleDaemonTest());
30             t.setDaemon(true);// 设置为后台线程,如果不设置则为非后台线程,会无线打印线程信息
31             t.start();
32         }
33         System.out.println("ALL DEAMON IS START!");
34         try {
35             TimeUnit.MILLISECONDS.sleep(175);// 175>100,所有每个线程信息打印一次
36         } catch (InterruptedException e) {
37             // TODO Auto-generated catch block
38             e.printStackTrace();
39         }
40     }
41
42 }

后台线程与非后台线程的方法区别:后台线程会主动设置Thread.setDeamon(true)

当非后台线程结束时,后台线程强制结束

转载于:https://www.cnblogs.com/wubingshenyin/p/4446057.html

JAVA并发,后台线程相关推荐

  1. Java 并发编程 -- 线程池源码实战

    一.概述 小编在网上看了好多的关于线程池原理.源码分析相关的文章,但是说实话,没有一篇让我觉得读完之后豁然开朗,完完全全的明白线程池,要么写的太简单,只写了一点皮毛,要么就是是晦涩难懂,看完之后几乎都 ...

  2. Java并发编程-线程安全基础

    线程安全基础 1.线程安全问题 2.账户取款案例 3.同步代码块synchronized synchronized的理解 java中有三大变量的线程安全问题 在实例方法上使用synchronized ...

  3. Java并发编程——线程池的使用

    在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统 ...

  4. Java并发编程—线程间协作方式wait()、notify()、notifyAll()和Condition

    原文作者:Matrix海 子 原文地址:Java并发编程:线程间协作的两种方式:wait.notify.notifyAll和Condition 目录 一.wait().notify()和notifyA ...

  5. java workerdone_【架构】Java并发编程——线程池的使用

    前言 如果我们要使用线程的时候就去创建一个,这样虽然非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为 ...

  6. Java并发教程–线程池

    Java 1.5中提供的最通用的并发增强功能之一是引入了可自定义的线程池. 这些线程池使您可以对诸如线程数,线程重用,调度和线程构造之类的东西进行大量控制. 让我们回顾一下. 首先,线程池. 让我们直 ...

  7. java并发编程——线程池的工作原理与源码解读

    2019独角兽企业重金招聘Python工程师标准>>> 线程池的简单介绍 基于多核CPU的发展,使得多线程开发日趋流行.然而线程的创建和销毁,都涉及到系统调用,比较消耗系统资源,所以 ...

  8. 灵魂发问,Java并发和线程池,只言片语真的可以讲清楚吗?

    线程池 最近看到线程池,被里边乱七八槽的参数给搞晕了,你能不能给我讲讲呀? 对于从事后端开发的同学来说,线程是必须要使用了,因为使用它可以提升系统的性能.但是,创建线程和销毁线程都是比较耗时的操作,频 ...

  9. 灵魂发问!Java并发和线程池,只言片语真的可以讲清楚吗?

    线程池 最近看到线程池,被里边乱七八槽的参数给搞晕了,你能不能给我讲讲呀? 对于从事后端开发的同学来说,线程是必须要使用了,因为使用它可以提升系统的性能.但是,创建线程和销毁线程都是比较耗时的操作,频 ...

  10. Java并发编程—线程同步类

    原文作者:洲洋1984 原文地址:Java 并发包中的高级同步工具 Java 中的并发包指的是 java.util.concurrent(简称 JUC)包和其子包下的类和接口,它为 Java 的并发提 ...

最新文章

  1. eclipse 里面 tomcat 或者其他web环境启动慢
  2. python3 异步 async with 用法
  3. rsync配置与报错总结
  4. 梯度反向传播求解示例
  5. 13.5.虚拟化工具--jhat详解、13.6.虚拟化工具--jstack详解
  6. HH SaaS电商系统的线上服务商品库存和采购设计
  7. centos7修改服务器密码忘记,Centos7忘记root密码怎么修改
  8. 小熊的人生回忆(五)
  9. Linux 莱特币Litcoin节点搭建
  10. Ubuntu下apache配置文件路径
  11. PA 2011 Round 3 prz题解
  12. python函数名的作用_Python:函数名称空间与作用域:
  13. HTML前端特效集合
  14. 大会没看够?2021 Google 开发者大会总结看这里!
  15. 51单片机LCD1602电子时钟
  16. python 创建netcdf_如何用python netCDF4创建netCDF文件?
  17. 面试官硬核提问,教你轻松应对(面试小技巧)1
  18. 【青龙面板+诺兰2.0 网页短信验证登录+bot查询】
  19. cadaver (davtest)
  20. 第三代测序技术在微生物研究中的应用

热门文章

  1. 2022世界杯神预测有哪个最神!最后一个富而喜悦到底是谁?
  2. python计算存款复利计算器_分享下自己写的计算余额宝上复利的代码,网上的复利计算器无法满足需求...
  3. 河北省理科2001——2010年一分一档表
  4. Debian的试用笔记
  5. MFC中MediaPlayer基本功能使用
  6. Win11校园网无法连接怎么办?Win11连接不到校园网的解决方法
  7. Python 阿拉伯数字转换为中文大写数字
  8. 美团和大众点评早期分别以交易和用户评价进军团购行业
  9. PS轻松制作GIF动态图
  10. 让我们一起打起FPGA工程师就业保卫战