java守护线程与用户线程区别

来源:互联网 发布:卡盟网站如何优化 编辑:程序博客网 时间:2024/05/01 09:11

1.java代码中创建一个线程就是用户线程,守护线程由jvm创建,GC(垃圾回收器)线程就是守护线程,当jvm实例中,没有非守护线程存在后,jvm就会和守护进程一同结束工作

2.Thread thread = new Thread();thread.setDaemon(true);  //java代码将线程设置为守护线程

3.进程是应用程序关于某个功能上的一个运行活动,有独立的内存区域,是系统资源分配和调度基本单位,

线程是进程中的一个任务,是cpu时间片调度和分配的基本单位,线程需要较少的资源(程序计数器,一组寄存器和栈)来创建和驻存在进程中,线程可以共享进程的资源,线程有自己的堆栈和局部变量;

4.线程只是进程中不同执行路径,线程没有自己地址空间,所以进程中一个线程kill掉后,整个进程也kill调了;但是进程是有独立地址空间的,一个进程kill调,不会对其他进程有影响,但是进程之间cpu时间片切换开销大,效率低,所以多线程适用于并发性要求高,修改共享变量的业务场景

0 0