java 多线程-优先级

优先级priority,调用的概率,建议在start之前设定
.setPriprity(num);可以是数组或下列常量;
取值1到10,
NORM_PRIORITY 5所有线程默认为5
MIN_PRIORITY 1
MAX_PRIORITY 10
.getPriority()获得当前线程优先级

public class n {

public static void main(String[]args) throws InterruptedException
{

    System.out.println(Thread.currentThread().getPriority());
    test t=new test();
    Thread t1=new Thread(t);
    Thread t2=new Thread(t);
    Thread t3=new Thread(t);
    Thread t4=new Thread(t);
    Thread t5=new Thread(t);
    Thread t6=new Thread(t);

    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 test implements Runnable
{
public void run()
{
    System.out.println(Thread.currentThread().getName()+"-->"+Thread.currentThread().getPriority());
    Thread.yield();
}
}

猜你喜欢

转载自blog.51cto.com/14437184/2428989