`

java需要关注的知识点---并发之后台线程

 
阅读更多
所谓的后台线程,是指在程序运行的时候在后台提供一种通用服务的线程,并且这种线程并不属于程序中不可或缺的部分。因此,当所有的非后台线程结束的时候,程序也就终止,同时会杀死所有的后台线程。
package com.thread;

import java.util.concurrent.TimeUnit;

public class SimpleDaemons implements Runnable{
	public void run() {
		while(true) {
			try {
				TimeUnit.MILLISECONDS.sleep(100);
				System.out.println(Thread.currentThread() + " " + this);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
			
		}
	}
	public static void main(String[] args) throws InterruptedException {
		for (int i = 0; i < 10; i++) {
			Thread daemo = new Thread(new SimpleDaemons());
			daemo.setDaemon(true);
			daemo.start();
		}
		System.out.println("All daemons started");
		//如果去掉sleep,run方法中的语句不会输出。说明main也是非后台线程
		TimeUnit.MILLISECONDS.sleep(180);
	}
}



实例 2 :
package com.thread;

import java.io.IOException;

public class ResponsveUI extends Thread {
	private static volatile double d = 1;
	
	public ResponsveUI() {
		setDaemon(true);
		start();
	}
	public void run() {
		while(true) {
			d = d + (Math.PI + Math.E);
		}
	}
	public static void main(String[] args) throws Exception {
//		new UnresponsiveUI(); //must kill this process
		new ResponsveUI();
		System.in.read();
		System.out.println(d);
	}
}
class UnresponsiveUI {
	private volatile double d = 1;

	public UnresponsiveUI() throws Exception{
		while (d > 0) {
			d = d + (Math.PI + Math.E);
		}
		System.in.read();
	}

}
分享到:
评论

相关推荐

    java 核心知识点-并发编程-线程

    java核心知识点,基础知识,思维导图,并发编程,线程

    JAVA线程高级-线程按序交替执行

    在Java编程中,多线程是并发编程的重要组成部分,它允许程序同时执行多个任务,从而提高了系统的效率和响应性。...通过熟练掌握上述知识点,开发者可以更好地驾驭Java的多线程环境,实现高效的并发编程。

    Java多线程知识点总结

    了解线程池的概念也是Java多线程编程中的一个重要知识点。线程池是一种多线程处理形式,它将线程和任务的概念分离开来,能够有效管理线程资源,减少线程创建和销毁的开销,提高程序性能。Java中可以通过Executors类...

    Java 模拟线程并发

    Java 模拟线程并发是编程领域中的一个重要概念,尤其在多核处理器和高并发应用中,理解并熟练掌握线程并发技术对于提升程序性能至关重要。在Java中,线程并发可以通过多种方式实现,包括继承Thread类、实现Runnable...

    Java 多线程与并发-Java并发知识体系详解.pdf

    Java并发编程是Java开发中的重要领域,涉及到多线程、并发控制、同步机制等多个知识点。以下是对Java并发知识体系的详细解析。 首先,我们要理解并发的理论基础。并发是为了提高系统资源利用率和处理能力,让多个...

    java常见面试题---线程篇

    在Java编程领域,线程是并发处理的核心概念,它允许程序在同一时间...理解并熟练掌握这些知识点,对于解决Java并发问题和优化多线程应用至关重要。在实际工作中,还需要关注线程安全、性能优化和代码可维护性等问题。

    java需要关注的知识点---好的书本

    "java需要关注的知识点---好的书本"这一主题暗示了我们需要关注那些能帮助我们深入理解Java语言的资源。其中,标签"源码"和"工具"提醒我们不仅要关注理论,还要关注实际应用和开发工具。 首先,学习Java源码是理解...

    Java 多线程与并发(1-26)-Java 并发 - 理论基础.pdf

    Java 多线程与并发理论基础 Java 多线程与并发是 Java 编程语言中的一种机制,用于提高程序的执行效率和响应速度。多线程的出现是为了解决 CPU、内存、I/O 设备速度差异的问题,通过分时复用 CPU、缓存和进程、...

    JAVA中的线程知识点整理

    在Java编程中,线程是并发编程的核心概念,允许程序同时执行多个任务,提高了系统资源的利用率和程序的响应速度。...以上就是Java线程的基本知识点,理解和熟练运用这些概念对于编写高效、稳定的并发程序至关重要。

    JAVA核心知识点整理-283页

    283页,JAVA核心知识点整理: JVM、JAVA集合、JAVA多线程并发、JAVA基础、Spring、微服务、NETTY/RPC、网络、日志、Zookeeper、Kafka、RabbitMQ、设计模式、负载均衡、......

    Java多线程实战精讲-带你一次搞明白Java多线程高并发

    Java多线程实战精讲是Java...以上内容覆盖了Java多线程的核心知识点,通过学习和实践,你将能够熟练应对各种高并发场景,提升代码的效率和稳定性。在Java世界里,理解和掌握多线程是成为一个高级开发者的必经之路。

    java多线程并发

    ### Java多线程并发知识点详解 #### 一、Java多线程并发简介 在现代软件开发中,特别是在Java这样的主流编程语言中,多线程并发技术是提高程序执行效率、优化资源利用的关键手段之一。本篇文章将深入探讨Java中的...

    面试真题包含spring-java-集合-框架-并发-spring-运维-数据库等多领域45卷合集.rar

    它包含了45套涵盖多个领域的面试题,旨在帮助求职者全面复习和深入理解Java开发中的关键知识点。 在并发领域,"并发面试专题.pdf"可能会包含线程安全、锁机制、并发工具类如Semaphore、CountDownLatch和...

    java核心知识点学习----多线程间的数据共享和对象独立,ThreadLocal详解.pdf

    Java中的多线程编程是开发高并发应用的关键技术之一,涉及到如何有效管理和利用系统资源,尤其是在处理并发数据访问时,确保数据的安全性和一致性至关重要。在Java中,有多种方式可以实现线程间的数据共享和对象独立...

    java核心知识点包含所有java核心技术

    java核心知识点从0到1全包括 JVM 所有知识点技术点 JAVA集合 JAVA多线程并发 JAVA基础 SPRING原理 微服务 等等 java核心知识点从0到1全包括 JVM 所有知识点技术点 JAVA集合 JAVA多线程并发 JAVA基础 SPRING原理 ...

    自用ppt-2012-11-11java线程并发库

    总的来说,Java线程并发库是Java程序员必备的知识点,它提供了强大且灵活的工具来处理并发问题,使得开发者能够编写出高效、可扩展的多线程应用。深入理解这些概念和类,对于优化Java应用的性能至关重要。

    Java Socket学习---多线程阻塞

    总的来说,`Java Socket学习---多线程阻塞`这个主题涵盖了以下几个关键知识点: 1. Java中的`ServerSocket`和`Socket`类的使用。 2. 阻塞式I/O模型的理解与应用。 3. 多线程编程,特别是在服务器端处理并发连接。 4....

    多线程精品资源--多线程与高并发.zip

    本文将深入探讨这两个主题,并结合资源包"多线程精品资源--多线程与高并发.zip"中的内容,提供相关知识点的详细说明。 首先,多线程是指在一个进程中同时执行多个线程,这使得程序可以并行处理任务,提高CPU资源的...

    java 多线程高并发相关资料收集

    本文将围绕“Java多线程高并发相关资料收集”这一主题,详细探讨这两个领域的核心知识点。 首先,多线程是指在单个程序中同时执行多个线程。Java提供了一个强大的多线程支持,允许开发者创建、管理和控制多个执行...

Global site tag (gtag.js) - Google Analytics