线程优先级

多线程运行时需要定义线程运行的先后顺序。

线程优先级是用数字表示,数字越大线程优先级越高,取值在110,默认优先级为5

实例:

package com.bijian.study;

/**
 * 因为在代码段当中把线程B的优先级设置高于线程A,所以运行结果先执行线程B的run()方法后再执行线程A的run()方法
 * 但在实际中,JAVA的优先级不准,强烈不建议用此方法来控制执行顺序和频率
 */
public class ThreadPriorityDemo {

	public static void main(String args[]) {
		ThreadA a = new ThreadA();
		ThreadB b = new ThreadB();
		b.setPriority(10);
		a.setPriority(1);	//设置优先级别,数值越大优先级越高
		
		int priA = a.getPriority();	//获得优先级的方法
		int priB = b.getPriority();
		System.out.println(priA);
		System.out.println(priB);
		
		b.start();
		a.start();
	}
}

class ThreadA extends Thread {
	public void run() {
		System.out.println("我是线程A");
	}
}

class ThreadB extends Thread {
	public void run() {
		System.out.println("我是线程B");
	}
}

 运行结果:

1
10
我是线程B
我是线程A

设置优先级也可以用线程常量

a.       MAX_PRIORITY为最高优先级10

b.       MIN_PRIORITY为最低优先级1

c.       NORM_PRIORITY是默认优先级5

实例:

package com.bijian.study;

public class ThreadPriConstantDemo {

	public static void main(String args[]) {
		Thread a = new Thread();
		int temp = Thread.MAX_PRIORITY;
		a.setPriority(temp);	//将线程优先级设置为最高
		System.out.println(a.getPriority());
		
		temp = Thread.MIN_PRIORITY;
		a.setPriority(temp);	//将线程优先级设置为最低
		System.out.println(a.getPriority());
		
		temp = Thread.NORM_PRIORITY;
		a.setPriority(temp);	//将线程优先级设置为默认
		System.out.println(a.getPriority());
	}
}

运行结果:

10
1
5

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值