java多线程优先级问题
2023-09-27 14:20:50 时间
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.println(Thread.currentThread().getName() + "(" + Thread.currentThread().getPriority() + ")"+ ", loop " + i); } } }
package com.ming.thread.threadpriority; /** * 线程的优先级的值是1--10 * @author ming * */ public class Run { public static void main(String[] args) { MyThread t1=new MyThread("t1"); MyThread t2=new MyThread("t2"); MyThread t3=new MyThread("t3"); t1.setPriority(6); t2.setPriority(Thread.MAX_PRIORITY); t3.setPriority(1); t1.start(); t2.start(); t3.start(); } }
不要把线程的优先级与运行结果的顺序作为衡量的标准,优先级较高的线程并不一定每一次都先执行完run()方法中的任务,也就是说,线程的优先级与打印顺序无关,不要将这两者的关系相关联,它们的关系具有不确定性和随机性。
相关文章
- 3种方式实现Java多线程
- java基础---->多线程之Runnable(一)
- 4个理由告诉你Java为何排行第一
- Java架构师与开发者提高效率的10个工具
- java多线程之原子变量
- Java多线程使用wait和notify实现生产者消费者模型
- java集合经常出现空指针问题的解决方案
- 解决java.lang.ClassNotFoundException: org.slf4j.bridge.SLF4JBridgeHandler
- 用 Java 开发一个打飞机小游戏(附完整源码)
- Java 多线程处理任务的封装
- Java 多线程同步的五种方法
- java 多重继承
- android基础篇------------java基础(12)(多线程操作)
- Spring MVC 解决 Could not write JSON: No serializer found for class java.lang.Object
- Google 以图搜图 - 相似图片搜索原理 - Java实现 (转)
- Java精选笔记_集合概述(Collection接口、Collections工具类、Arrays工具类)
- JAVA多线程(一)
- 【 java 多线程】多线程概述和使用 Thread 和 Runnable 创建多线程
- java多线程12设计模式
- Java多线程之线程间协作 notify与wait的使用
- 【RabbitMQ】| 狮子带你(超详细)原生Java操作兔子队列
- 多线程系列八:线程安全、Java内存模型(JMM)、底层实现原理
- 2019 Java 全栈工程师进阶路线图,一定要收藏
- Java多线程-BlockingQueue-ArrayBlockingQueue-LinkedBlockingQueue
- java最简单复制文件方法,不依赖任何框架
- Java多线程-线程的调度(优先级)
- Java多线程-概念与原理