线程的优先级
优先级分类
- MAX_PRIORITY:10
- MIN_PRIORITY:1
- NORM_PRIORITY:5(默认优先级)
如何获取和设置当前线程的优先级
package com.threadT;
public class ThreadTest2 {
public static void main(String[] args) {
MyThread1 myThread1 = new MyThread1();
MyThread2 myThread2 = new MyThread2();
//设置分线程的优先级
myThread1.setPriority(Thread.MAX_PRIORITY);
myThread1.start();
myThread2.start();
}
}
class MyThread1 extends Thread {
@Override
public void run() {
for (int i = 0; i < 100; i++) {
if (i % 2 == 0) {
System.out.println("奇数" + i);
}
}
}
}
class MyThread2 extends Thread {
@Override
public void run() {
for (int i = 0; i < 100; i++) {
if (i % 2 != 0) {
System.out.println("偶数" + i);
}
}
}
}
说明
高优先级的线程要抢占低优先级线程cpu的执行权。但是只是从概率上讲,高优先级的线程高概率的情况下被执行,并不意味着只有当高优先级的线程执行完以后,低优先级的线程才执行。