003.多线程-主线程、守护线程、用户线程的区别

对于线程的分类,我们可以简单划分为:

  • 主线程 (每个进程只有一个主线程)
  • 子线程

主线程: main方法 子线程:非主线程皆是子线程


子线程中可以简单划分为:

  • 守护线程
  • 非守护线程,即用户线程

守护线程: 主要是指 在进程中,为主线程提供一种通用服务的线程。 比如 gc线程 因为,主线程一旦结束或者销毁, 守护线程没有了守护对象, 也将同步进行结束或销毁。


非守护线程/用户线程: 通常异步处理一些业务或逻辑


守护线程与用户线程的关系: 用户线程在start之前可以通过setDaemo(true)来转变为守护线程。 如果在start之后调用setDaemo(true), 将会throw IllegalThreadStateException。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序员互动联盟

【编程基础】初学者如何学习Linux网络

1. Linux网络编程--网络知识介绍 网络程序和普通的程序有一个最大的区别是网络程序是由两个部分组成的--客户端和服务器端. 1.1 客户端 在网络程序中,...

344130
来自专栏JavaEdge

Spring Security 实战 - Session管理管理

43330
来自专栏linux系统运维

安装PHP5,安装PHP7

42780
来自专栏geekidea

Spring Boot项目使用maven-assembly-plugin根据不同环境打包成tar.gz或者zip

https://github.com/geekidea/spring-boot-assembly

30710
来自专栏章鱼的慢慢技术路

Linux命令_磁盘管理_查看磁盘或目录的容量

23350
来自专栏Java成神之路

redis_学习_01_redis的安装

11930
来自专栏nummy

python安装私有包

你想要安装一个第三方包,但是没有权限将它安装到系统Python库中去。 或者,你可能想要安装一个供自己使用的包,而不是系统上面所有用户。

14130
来自专栏编程

ansible2.4 源码分析-自定义inventory解析插件实现

微信公众号:进击的大杂烩 通过上一篇文章,初步的分析了ansible2.4的一个运行流程,没有对 ansible 解析 source 的过程进行详细分析。本文通...

361100
来自专栏专注数据中心高性能网络技术研发

调整进程的最大linux文件描述符

1.介绍 ---- ulimit 命令提供了针对 shell和或由该 shell 启动的进程占用资源的控制。  持久化修改生效是在/etc/security/l...

39050
来自专栏Linux运维学习之路

day2、Linux别名

Linux中修改配置别名 ####用到的命令:   alias 是用来查看系统中有什么别名   source 让配置生效 临时取消别名的方法   unalias...

27380

扫码关注云+社区

领取腾讯云代金券