Java多线程编程:从基础到资源同步
1. 多线程示例价值与守护线程
在多线程编程中,有一个示例具有重要价值,它能让你轻松创建大量独立子任务并监控其行为。随着子任务数量增多,由于线程调度方式,机器显示的数字可能会出现更大差异。
另外,在 Ticker.run() 方法中, sleep(100) 非常重要。若移除该方法,程序在按下切换按钮前运行正常,但之后特定线程的 runFlag 为 false , run() 方法会陷入无限循环,在多线程环境下难以中断,导致程序响应速度和性能下降。
守护线程(Daemon threads)是在程序运行时在后台提供通用服务,但并非程序核心部分的线程。当所有非守护线程完成任务后,程序会终止;反之,只要有非守护线程在运行,程序就不会终止,例如运行 main() 方法的线程。
你可以通过 isDaemon() 方法判断线程是否为守护线程,使用 setDaemon() 方法开启或关闭线程的守护属性。若一个线程是守护线程,它创建的所有子线程也会自动成为守护线程。
以下是一个守护线程的示例代码:
//: c14:Daemons.java
// Daemonic behavior.
import java.io.*;
class Daemon extends Thread {
private sta
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



