当前位置:首页 > 开发 > 编程语言 > 多线程 > 正文

线程优先级

发表于: 2013-05-27   作者:bijian1013   来源:转载   浏览:
摘要: 多线程运行时需要定义线程运行的先后顺序。 线程优先级是用数字表示,数字越大线程优先级越高,取值在1到10,默认优先级为5。 实例: package com.bijian.study; /** * 因为在代码段当中把线程B的优先级设置高于线程A,所以运行结果先执行线程B的run()方法后再执行线程A的run()方法 * 但在实际中,JAVA的优先级不准,强烈不建议用此方法来控制执

多线程运行时需要定义线程运行的先后顺序。

线程优先级是用数字表示,数字越大线程优先级越高,取值在110,默认优先级为5

实例:

package com.bijian.study;

/**
 * 因为在代码段当中把线程B的优先级设置高于线程A,所以运行结果先执行线程B的run()方法后再执行线程A的run()方法
 * 但在实际中,JAVA的优先级不准,强烈不建议用此方法来控制执行顺序和频率
 */
public class ThreadPriorityDemo {

	public static void main(String args[]) {
		ThreadA a = new ThreadA();
		ThreadB b = new ThreadB();
		b.setPriority(10);
		a.setPriority(1);	//设置优先级别,数值越大优先级越高
		
		int priA = a.getPriority();	//获得优先级的方法
		int priB = b.getPriority();
		System.out.println(priA);
		System.out.println(priB);
		
		b.start();
		a.start();
	}
}

class ThreadA extends Thread {
	public void run() {
		System.out.println("我是线程A");
	}
}

class ThreadB extends Thread {
	public void run() {
		System.out.println("我是线程B");
	}
}

 运行结果:

1
10
我是线程B
我是线程A

设置优先级也可以用线程常量

a.       MAX_PRIORITY为最高优先级10

b.       MIN_PRIORITY为最低优先级1

c.       NORM_PRIORITY是默认优先级5

实例:

package com.bijian.study;

public class ThreadPriConstantDemo {

	public static void main(String args[]) {
		Thread a = new Thread();
		int temp = Thread.MAX_PRIORITY;
		a.setPriority(temp);	//将线程优先级设置为最高
		System.out.println(a.getPriority());
		
		temp = Thread.MIN_PRIORITY;
		a.setPriority(temp);	//将线程优先级设置为最低
		System.out.println(a.getPriority());
		
		temp = Thread.NORM_PRIORITY;
		a.setPriority(temp);	//将线程优先级设置为默认
		System.out.println(a.getPriority());
	}
}

运行结果:

10
1
5

 

线程优先级

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
当程序中有多个线程存在的时候,线程和线程之间的关系并非是平等的。例如,总有一些线程是CPU消耗密
进程本身不存在调度问题的,调度的是线程。我们可以在Windows任务管理器设置某个进程的优先级类,微
在前面那一节中我们曾学习过线程的一些基本操作,如线程创建, 挂起,唤醒以及中断等, 线程除了这
转载请注明出处 http://blog.csdn.net/pony_maggie/article/details/43889225 作者:小马 Java线程的
Cocos2dx中线程优先级问题   不论是ios还是android,遇到耗时的任务都要另起线程处理,否则程序不
转转请注明出处:http://blog.csdn.net/yegongheng/article/details/38708765 上一篇《线程的概念及
在操作系统中,线程可以划分优先级,优先级较高的线程得到CPU资源较多,也就是CPU优先执行优先级较
与线程休眠类似,线程的优先级仍然无法保障线程的执行次序。只不过,优先级高的线程获取CPU资源的概
调用线程的 toString 方法打印如下: 左边为线程名; 中间为线程的优先级(默认为5) 右边为线程所属
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号