多线程优先级

class user extends Thread {
private Thread fth;

user(String name, Thread fth) {
super(name);
this.fth = fth;
}

public void run() {
System.out.println(this.getName());
try {
sleep(2000);
} catch (Exception e) {
// TODO: handle exception
throw new RuntimeException(e);
}
if (fth != null) {
try {
fth.join();

} catch (Exception e) {

}
System.out.println("NAME:" + this.getName() + "Bye");

}
}

}

class MT{
public static void main(String[] args) throws InterruptedException {
user u1=new user("1",null);
user u2=new user("2",u1);
user u3=new user("3",u2);
user u4=new user("4",u3);
u1.setPriority(Thread.MAX_PRIORITY);
u2.setPriority(Thread.MAX_PRIORITY-1);
u3.setPriority(Thread.MAX_PRIORITY-2);
u4.setPriority(Thread.MAX_PRIORITY-3);
u1.start();
u2.start();
u3.start();
u4.start();

}
}

时间: 2024-11-05 21:38:13

多线程优先级的相关文章

python多线程--优先级队列(Queue)

Python的Queue模块中提供了同步的.线程安全的队列类,包括FIFO(先入先出)队列Queue,LIFO(后入先出)队列LifoQueue,和优先级队列PriorityQueue.这些队列都实现了锁原语,能够在多线程中直接使用.可以使用队列来实现线程间的同步. Queue模块中的常用方法: Queue.qsize() 返回队列的大小 Queue.empty() 如果队列为空,返回True,反之False Queue.full() 如果队列满了,返回True,反之False Queue.fu

多进程多线程优先级理解--优先级反转【转】

本文转载自:http://blog.csdn.net/yusiguyuan/article/details/14161061 1. 优先级反转(Priority Inversion)    由于多进程共享资源,具有最高优先权的进程被低优先级进程阻塞,反而使具有中优先级的进程先于高优先级的进程执行,导致系统的崩溃.这就是所谓的优先级反转(Priority Inversion). 2. 产生原因      其实,优先级反转是在高优级(假设为A)的任务要访问一个被低优先级任务(假设为C)占有的资源时,

java多线程优先级问题

java 中的线程优先级的范围是1-10,默认的优先级是5.“高优先级线程”会优先于“低优先级线程”执行. 例子: package com.ming.thread.threadpriority; public class MyThread extends Thread { public MyThread(String name) { super(name); } public void run() { for (int i = 0; i < 5; i++) { System.out.printl

java多线程--优先级

1. 线程优先级的介绍 java 中的线程优先级的范围是1-10,默认的优先级是5."高优先级线程"会优先于"低优先级线程"执行. java 中有两种线程:用户线程和守护线程.可以通过isDaemon()方法来区别它们:如果返回false,则说明该线程是"用户线程":否则就是"守护线程". 用户线程一般用户执行用户级任务,而守护线程也就是"后台线程",一般用来执行后台任务.需要注意的是:Java虚拟机在&q

多线程---优先级&amp;yield方法

优先级只有10级,1-10.最高10(java中用Thread.MAX_PRIORITY),最低1,中间级5. 设置优先级的方法是 线程对象.setPriority(5): yield : 暂停(不是停止)当前正在执行的线程,并执行其他线程. PS:数据固定的用常量final,数据共享的用静态static. 匿名内部类的线程使用: 继承方式的匿名内部类: new Thread() { public void run() { System.out.println("继承方式的匿名内部类!!!&qu

java多线程优先级

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 20.0px; font: 14.0px "PingFang SC"; color: #333333; background-color: #ffffff } span.s1 { } 每个类都有自己的优先级,一般property用1-10的整数表示,默认优先级是5,优先级最高是10 原文地址:https://www.cnblogs.com/gjack/p/8440457.html

java 多线程-优先级

优先级priority,调用的概率,建议在start之前设定.setPriprity(num);可以是数组或下列常量;取值1到10,NORM_PRIORITY 5所有线程默认为5MIN_PRIORITY 1MAX_PRIORITY 10.getPriority()获得当前线程优先级 public class n { public static void main(String[]args) throws InterruptedException { System.out.println(Thre

多线程编程之优先级翻转问题

一.什么是优先级翻转问题 所谓优先级翻转问题(Priority Inversion)即当一个高优先级任务通过信号量机制访问共享资源时,该信号量已被一低优先级任务占有,而这个低优先级任务在访问共享资源时可能又被其它一些中等优先级任务抢先,因此造成高优先级任务被许多具有较低优先级任务阻塞,实时性难以得到保证. 例如:有优先级为A.B和C三个任务,优先级A>B>C,任务A,B处于挂起状态,等待某一事件发生,任务C正在运行,此时任务C开始使用某一共享资源S.在使用中,任务A等待事件到来,任务A转为就绪

java基础----&gt;java多线程的使用(四)

线程的priority能告诉调度程序其重要性如何,今天我们通过实例来学习一下java多线程中的关于优先级的知识. java多线程的优先级 一.java多线程中关于优先级的实例 package com.linux.huhx.thread1; import java.util.Random; import java.util.concurrent.TimeUnit; public class PriorityThread extends Thread { PriorityThread(String