快捷搜索:  汽车  科技

简单理解进程和线程:用户线程和守护线程

简单理解进程和线程:用户线程和守护线程package cn.jd.state; /* * 守护线程:是为用户线程服务的;jvm停止不用等待守护线程执行完毕 * 默认情况下线程都是属于用户线程的,虚拟机等待所有的用户线程执行完毕才会停止 */ public class DaemonTest { public static void main(String[] args) { God god=new God(); You you=new You(); //将用户线程调整为守护线程 god.setDaemon(true);//默认是false的这里我们改为真 you.start(); god.start(); } } class You extends Thread{ @Override public void run() { for(int i=1;i<10;i ) {

讲一下线程的分类

线程分为用户线程和守护线程

守护线程是守护用户线程的,用户线程执行完毕,jvm停止,守护线程没有执行完毕程序也结束运行了

简单理解进程和线程:用户线程和守护线程(1)

守护线程是为用户线程服务的。虚拟机不看守护线程的脸色只看用户线程的脸色。

package cn.jd.state; /* * 守护线程:是为用户线程服务的;jvm停止不用等待守护线程执行完毕 * 默认情况下线程都是属于用户线程的,虚拟机等待所有的用户线程执行完毕才会停止 */ public class DaemonTest { public static void main(String[] args) { God god=new God(); You you=new You(); //将用户线程调整为守护线程 god.setDaemon(true);//默认是false的这里我们改为真 you.start(); god.start(); } } class You extends Thread{ @Override public void run() { for(int i=1;i<10;i ) { System.out.println("happy life..."); } System.out.println("oooooo"); } } class God extends Thread{ @Override public void run() { for(int i=1;i<100*1000;i ) { System.out.println("bless you..."); } } }

猜您喜欢: