线程优先级+守护线程

线程优先级

线程是存在优先级的,其范围是 1 ~ 10,数字越大,优先级越高,意味着先执行的概率越大,注意,优先级越高不等于先执行,只是先执行的概率越高
在API中,有与优先级对应的常量:

  • Thread.MAX_PRIORITY:最高的优先级–>10
  • Thread.NORM_PRIORITY:默认优先级–>5
  • Thread.MIN_PRIORITY:最低的优先级->1
package ThreadClass;

/**
 * 测试线程优先级 1 - 10
 * NORM~(5)(默认)   MIN~(1)    MAX~(10) 
 * 优先级高,先执行的概率高
 * @author 王星宇
 * @date 2020年2月16日
 */
public class PriorityThread {
	public static void main(String[] args) {
		System.out.println(Thread.currentThread().getPriority());
		
		Thread t1 = new Thread(new testPriority());
		Thread t2 = new Thread(new testPriority());
		Thread t3 = new Thread(new testPriority());
		Thread t4 = new Thread(new testPriority());
		Thread t5 = new Thread(new testPriority());
		Thread t6 = new Thread(new testPriority());
		t1.setPriority(Thread.MAX_PRIORITY);
		t2.setPriority(Thread.MAX_PRIORITY);
		t3.setPriority(Thread.MAX_PRIORITY);
		t4.setPriority(Thread.MIN_PRIORITY);
		t5.setPriority(Thread.MIN_PRIORITY);
		t6.setPriority(Thread.MIN_PRIORITY);
		
		t1.start();
		t2.start();
		t3.start();
		t4.start();
		t5.start();
		t6.start();
	}
}
class testPriority implements Runnable{

	@Override
	public void run() {
		System.out.println(Thread.currentThread().getName() + "-->"
				 + Thread.currentThread().getPriority());
	}
	
}

守护线程

在一个运行的程序中,线程分为两类:守护线程 和 用户线程:

  • 用户线程:默认情况下,无论是主线程还是自己定义的线程都是用户线程,虚拟机会等待所用的用户线程结束后再停止。
  • 守护线程:守护线程是为用户线程服务的,虚拟机不用等待守护线程结束再停止。常用来记录日志等。

可调用setDaemon(true);方法将一个用户线程调整为守护线程。

package ThreadClass;

/**
 * 测试守护线程:为用户线程服务,jvm停止不用等守护线程结束 
 * 默认都是用户线程,虚拟机等待所有用户线程结束
 * @author 王星宇
 * @date 2020年2月16日
 */
public class daemonThread {
	public static void main(String[] args) {
		God gg = new God();
		you yy = new you();
		
		gg.setDaemon(true);//调整为守护线程
		gg.start();

		yy.start();
	}
}
class you extends Thread{
	@Override
	public void run() {
		for(int i = 1;i <= 365;i++) {
			System.out.println("活了" + i + "天....");
		}
		System.out.println("GAME OVER..");
	}
}
class God extends Thread{
	@Override
	public void run() {
		while(true) {
			System.out.println("上帝保佑你.....");
		}
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值