
众所周知,Java是一种支持多线程的语言,基于自然界,Java中的线程分为两种类型:守护程序线程和用户线程。
以下是守护程序线程和用户线程之间的重要区别。
序号 | 键 | 守护进程线程 | 用户线程 |
---|---|---|---|
1 | 性质 | 守护程序线程的优先级较低,即JVM不太关心这些类型的线程。 | 用户线程被识别为高优先级线程,即JVM将等待任何活动的用户线程完成。 |
2 | CPU可用性 | 由于优先级低,无法保证Daemon线程总是在需要时获得CPU使用率。 | 用户线程总是优先获得CPU使用率,因为它具有更高的优先级。 |
3 | 创建 | 守护程序线程在后台状态下执行,因此通常称为后台线程。 | 用户线程通常是由应用程序创建的,用于并发执行某些任务。 |
4 | 刑场 | 守护程序线程在后台状态下执行,因此通常称为后台线程。 | 用户线程在另一方面被称为前台线程。 |
5 | 生命周期 | 守护程序线程没有设置生命周期,但是它们完全取决于用户线程。 | 用户线程具有与其他任何普通线程一样的特定生命周期,并且其寿命独立于任何其他线程。 |
守护程序线程与用户线程的示例
JavaTester.java
class JavaTester extends Thread { @Override public void run(){ System.out.println("User Thread or Non-Daemon Thread"); } } public class MainThread { public static void main(String[] args){ JavaTester mt = new JavaTester(); mt.start(); System.out.println("Main Thread"); System.out.println("Is " + mt.getName() + " a Daemon Thread: "+ mt.isDaemon()); System.out.println("Is " + Thread.currentThread().getName() + " a Daemon Thread: " + Thread.currentThread().isDaemon()); } }
输出结果
Main Thread Is Thread-0 a Daemon Thread: false Is main a Daemon Thread: false User Thread or Non-Daemon Thread
热门文章
- 2月1日 | SingBox每天更新20.3M/S免费节点订阅链接
- 3月5日 | SingBox每天更新21.1M/S免费节点订阅链接
- 3月10日 | SingBox每天更新22.6M/S免费节点订阅链接
- 动物疫苗审批流程(动物疫苗审批流程表)
- SpringSecurity之OAuth2 令牌accessToken的生成过程
- 宠物用品批发商行(宠物店用品批发市场)
- 水生动物医学兽医证(水生动物兽医证报考条件)
- 我所在的城市有一家宠物医院的英语怎么写(我所在的城市有一家宠物医院的英语怎么写作文)
- 动物疫苗有什么用途和作用禁忌(动物疫苗包括哪些)
- 青浦二中分数线2020级(青浦二中分数线2021)