所谓的后台线程,是指在程序运行的时候在后台提供一种通用服务的线程,并且这种线程并不属于程序中不可或缺的部分。因此,当所有的非后台线程结束的时候,程序也就终止,同时会杀死所有的后台线程。
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中可以通过Executors类...
Java 模拟线程并发是编程领域中的一个重要概念,尤其在多核处理器和高并发应用中,理解并熟练掌握线程并发技术对于提升程序性能至关重要。在Java中,线程并发可以通过多种方式实现,包括继承Thread类、实现Runnable...
Java并发编程是Java开发中的重要领域,涉及到多线程、并发控制、同步机制等多个知识点。以下是对Java并发知识体系的详细解析。 首先,我们要理解并发的理论基础。并发是为了提高系统资源利用率和处理能力,让多个...
在Java编程领域,线程是并发处理的核心概念,它允许程序在同一时间...理解并熟练掌握这些知识点,对于解决Java并发问题和优化多线程应用至关重要。在实际工作中,还需要关注线程安全、性能优化和代码可维护性等问题。
"java需要关注的知识点---好的书本"这一主题暗示了我们需要关注那些能帮助我们深入理解Java语言的资源。其中,标签"源码"和"工具"提醒我们不仅要关注理论,还要关注实际应用和开发工具。 首先,学习Java源码是理解...
Java 多线程与并发理论基础 Java 多线程与并发是 Java 编程语言中的一种机制,用于提高程序的执行效率和响应速度。多线程的出现是为了解决 CPU、内存、I/O 设备速度差异的问题,通过分时复用 CPU、缓存和进程、...
在Java编程中,线程是并发编程的核心概念,允许程序同时执行多个任务,提高了系统资源的利用率和程序的响应速度。...以上就是Java线程的基本知识点,理解和熟练运用这些概念对于编写高效、稳定的并发程序至关重要。
283页,JAVA核心知识点整理: JVM、JAVA集合、JAVA多线程并发、JAVA基础、Spring、微服务、NETTY/RPC、网络、日志、Zookeeper、Kafka、RabbitMQ、设计模式、负载均衡、......
Java多线程实战精讲是Java...以上内容覆盖了Java多线程的核心知识点,通过学习和实践,你将能够熟练应对各种高并发场景,提升代码的效率和稳定性。在Java世界里,理解和掌握多线程是成为一个高级开发者的必经之路。
### Java多线程并发知识点详解 #### 一、Java多线程并发简介 在现代软件开发中,特别是在Java这样的主流编程语言中,多线程并发技术是提高程序执行效率、优化资源利用的关键手段之一。本篇文章将深入探讨Java中的...
它包含了45套涵盖多个领域的面试题,旨在帮助求职者全面复习和深入理解Java开发中的关键知识点。 在并发领域,"并发面试专题.pdf"可能会包含线程安全、锁机制、并发工具类如Semaphore、CountDownLatch和...
Java中的多线程编程是开发高并发应用的关键技术之一,涉及到如何有效管理和利用系统资源,尤其是在处理并发数据访问时,确保数据的安全性和一致性至关重要。在Java中,有多种方式可以实现线程间的数据共享和对象独立...
java核心知识点从0到1全包括 JVM 所有知识点技术点 JAVA集合 JAVA多线程并发 JAVA基础 SPRING原理 微服务 等等 java核心知识点从0到1全包括 JVM 所有知识点技术点 JAVA集合 JAVA多线程并发 JAVA基础 SPRING原理 ...
总的来说,Java线程并发库是Java程序员必备的知识点,它提供了强大且灵活的工具来处理并发问题,使得开发者能够编写出高效、可扩展的多线程应用。深入理解这些概念和类,对于优化Java应用的性能至关重要。
总的来说,`Java Socket学习---多线程阻塞`这个主题涵盖了以下几个关键知识点: 1. Java中的`ServerSocket`和`Socket`类的使用。 2. 阻塞式I/O模型的理解与应用。 3. 多线程编程,特别是在服务器端处理并发连接。 4....
本文将深入探讨这两个主题,并结合资源包"多线程精品资源--多线程与高并发.zip"中的内容,提供相关知识点的详细说明。 首先,多线程是指在一个进程中同时执行多个线程,这使得程序可以并行处理任务,提高CPU资源的...
本文将围绕“Java多线程高并发相关资料收集”这一主题,详细探讨这两个领域的核心知识点。 首先,多线程是指在单个程序中同时执行多个线程。Java提供了一个强大的多线程支持,允许开发者创建、管理和控制多个执行...
理解并熟练运用这些知识点对于编写高并发的Java应用程序至关重要。注意,多线程并不会增加单个CPU的数据处理能力,但在多核系统或分布式计算中,合理利用线程可以显著提升性能。此外,当面临I/O阻塞等延迟操作时,多...