java的两种线程
java中的两种线程 守护线程与用户线程
守护线程:就是服务于用户线程的线程,例如垃圾回收的线程及时最典型的守护线程。不需要上层逻辑的介入
用户线程:就是程序自己创建的线程
守护线程;
守护线程专门服务与其他的线程,如若其他的线程都会执行完毕,就连main函数都会执行完毕,那么jvm就会退出,同理守护线程自然会退出。
到这里就可以看出来守护线程无法独立存在而是依赖于独立的线程进行存在,更多的是一个服务独立线程的存在
用户线程:
1、用户线程就是用户自己创建的线程,java中可以创立多线程进行独立操作,可以提高效率,但是在底层逻辑中,就像电脑中的CPU一样,用户看着CPU同时可以执行多项任务,但是在电脑来看,这是通过不断地进行任务的切换来完成的,java中的多线程也是这样。
2、用户线程和守护线程的主要区别就是,当用户线程执行完了之后,jvm就会自动退出,因此守护线程也会退出,守护线程就是一个辅助的角色进行一些垃圾回收线程管理的任务
3、用户可以自己创建一个守护线程。
java的两种线程的更多相关文章
- AsyncTask两种线程池
AsyncTask两种线程池 http://bbs.51cto.com/thread-1114378-1.html (API 3.0以后): 1.THREAD_POOL_EXECUTOR, ...
- Java中两种实现多线程方式的对比分析
本文转载自:http://www.linuxidc.com/Linux/2013-12/93690.htm#0-tsina-1-14812-397232819ff9a47a7b7e80a40613cf ...
- Java中有两种实现多线程的方式以及两种方式之间的区别
看到一个面试题.问两种实现多线程的方法.没事去网上找了找答案. 网上流传很广的是一个网上售票系统讲解.转发过来.已经不知道原文到底是出自哪里了. Java中有两种实现多线程的方式.一是直接继承Thre ...
- java中两种类型变量
Java中有两种类型的变量,一种是对象类型,另一种是基础类型(primitive type). 对象类型普遍采用引用的方式,比如 List a = new ArrayList(); List b = ...
- JAVA 中两种判断输入的是否是数字的方法__正则化_
JAVA 中两种判断输入的是否是数字的方法 package t0806; import java.io.*; import java.util.regex.*; public class zhengz ...
- 在netty3.x中存在两种线程:boss线程和worker线程。
在netty 3.x 中存在两种线程:boss线程和worker线程.
- JavaScript 与 Java 是两种完全不同的语言,无论在概念还是设计上。
JavaScript 与 Java 是两种完全不同的语言,无论在概念还是设计上. Java(由 Sun 发明)是更复杂的编程语言. ECMA-262 是 JavaScript 标准的官方名称. Jav ...
- 你创建线程池最好分为两种线程池,io密集型线程池,或者cpu密集型线程池
你创建线程池最好分为两种线程池,io密集型线程池,或者cpu密集型线程池. 否则,如果只用一个线程池的话,不管是iO密集的线程,或者cpu消耗大的都放在同一个线程池的话,会发生线程池被撑满的情况
- Elasticsearch模糊查询、多字段in查询、时间范围查询,DSL和java API两种方式
Elasticsearch模糊查询.多字段in查询.时间范围查询,DSL和java API两种方式 项目场景: Elasticsearch模糊查询某字段.多字段in查询.时间范围查询,通过DSL和ja ...
- Java实现卖票程序(两种线程实现)
/** * 2019年8月8日16:05:05 * 目的:实现火车站卖票系统(第一种创建线程的方式) * @author 张涛 * */ //第一种方式直接继承Thread来创建线程 class T1 ...
随机推荐
- [BalticOI 2017] Cat in a tree
[BalticOI 2017] Cat in a tree 神仙美少女 Tweetuzki 学姐用了长剖+线段树,私以为长剖可以做到线性. 简要题意 给定 \(n\) 个点的树,点集 \(S\) 合法 ...
- [ARC073C] Ball Coloring
简要题意 \(N\) 个盒子,每个盒子里有两个数.现在要把盒子中的数分成两种颜色,满足: 每个盒子中的数分别属于两种颜色,每个数恰好属于一种颜色 两种颜色的数的极差的乘积最小 求这个最小值 \(N \ ...
- go读取excel的内容
import "github.com/360EntSecGroup-Skylar/excelize" func SimulationDataHandler(){ f, err := ...
- 在linux环境中安装node,npm,express
linux安装node 连接运程命令: 进入usr/local 文件夹 cd /usr/local 1.下载 wget https://nodejs.org/dist/v14.17.6/node-v1 ...
- django:django同步数据库的时候app models表没有成功创建
解决方式: python3 manage.py makemigrations --empty managerbook # managerbook就是你的app名字,此处要写成自己的app名字 pyt ...
- SQL Server创建表,存储过程,function函数脚本规范
--创建新表 /**************************************************************************************** *** ...
- bootstrap-select使用、relation-graph使用
bootstrap-select 这里要实现的是带有搜索功能的select框, bootstrap 官网没有可以直接拿来用的.如下是官网给出的解释,带搜索功能的select需要自定义. 在网上找到了有 ...
- dota中的哲理
战术和战略: 6k分和3k分玩家的最重要的区别不是英雄玩的不好,而是整体战略不明确. dota玩家游戏时长超过1000h的比比皆是,这些玩家里面分数差距相当大.高的7k往上,低的2k深坑爬不出来. 这 ...
- Delphi中类的VMT
TObject是所有对象的基本类,DELPHI中的任何对象都是一个指针,这个指针指明该对象在内存中所占据的一块空间! 对象空间的头4个字节是指向该对象类的虚方法地址表(VMT-Vritual ...
- lua 添加的时候去重
result = {} ids = {1,9,6,7}affs = {3,2,4,5,6}count =0for s in *ids result[s]=sfor p, v in pairs resu ...