Java中的线程的优先级
Posted 牧羊人的世界
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中的线程的优先级相关的知识,希望对你有一定的参考价值。
Java 中线程优先级简介:
1. Java 提供一个线程调度器来监控程序中启动后进入就绪状态的所有线程。
按照线程的优先级决定应该调度哪个线程来执行.
2. 线程的优先级用数字表示, 范围从 1 到 10, 一个线程的缺省优先级是 5.
Thread.MIN_PRIORITY = 1;
Thread.MAX_PRIORITY = 10;
Thread.NORM_PRIORITY = 5;
3. 使用下述方法获得、或设置线程对象的优先级.
int getPriority();
void setPriority(int newPriority);
【注】线程的优先级越高的, 得到的 CPU 执行的时间片就越多.(每个线程都有自己的优先级)
Demo_1:
public class TestPriority { public static void main(String[] args){ T1 t1 = new T1(); T2 t2 = new T2(); Thread tt1 = new Thread(t1); Thread tt2 = new Thread(t2); tt1.setPriority(Thread.NORM_PRIORITY + 3); // tt1 的优先级提高了, 得到 CPU 执行的时间片多了 tt1.start(); tt2.start(); } } class T1 implements Runnable { @Override public void run() { for(int i = 0; i < 100; i++){ System.out.println("T1: "+i); } } } class T2 implements Runnable { @Override public void run() { for(int i = 0; i < 200; i++){ System.out.println("---T2: "+i); } } }
Demo_2:
以上是关于Java中的线程的优先级的主要内容,如果未能解决你的问题,请参考以下文章