多线程优先级

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());
    }
}

以上是关于多线程优先级的主要内容,如果未能解决你的问题,请参考以下文章

多线程 Thread 线程同步 synchronized

多线程--锁

多线程

多线程(ThreadRunnableCallable)

多个用户访问同一段代码

如何以“优先级”进行多线程?