多线程优先级
Posted 做个机灵鬼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多线程优先级相关的知识,希望对你有一定的参考价值。
Java提供一个线程调度器来监视启动后进去就绪状态的所有线程,线程调度器按照优先级决定应该调度哪个线程来执行.
线程的优先级用数字表示,范围从1~10;
Thread.MIN_PRIORITY=1;
Thread.MAX_PRIORITY=10;
Thread.NORM_PRIORITY=5;
使用一下方式改变或获取优先级:
getPriority().setPriority(int x)
public class TextPriority {
public static void main(String[] args) {
//输出主线程优先级,是默认无法改表的
System.out.println(Thread.currentThread().getName()+"-->"+Thread.currentThread().getPriority());
//输出我们自己创建的线程优先级
MyPriority myPriority = new MyPriority();
Thread t1 = new Thread(myPriority,"t1");
Thread t2 = new Thread(myPriority,"t2");
Thread t3 = new Thread(myPriority,"t3");
Thread t4 = new Thread(myPriority,"t4");
//先设置优先级 再启动,范围1-10
t1.start();
t2.setPriority(5);
t2.start();
t3.setPriority(Thread.MAX_PRIORITY);//最高优先级 MAX_PRIORITY=10
t3.start();
t4.setPriority(1);
t4.start();
}
}
class MyPriority implements Runnable{
@Override
public void run() {
//获得线程的名字和优先级
System.out.println(Thread.currentThread().getName()+"-->"+Thread.currentThread().getPriority());
}
}
以上是关于多线程优先级的主要内容,如果未能解决你的问题,请参考以下文章