Java线程的优先级在什么时候可以重新设置?
2021/8/31 11:06:12
本文主要是介绍Java线程的优先级在什么时候可以重新设置?,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
答案:java线程在创建后任何时候都可以重新设置优先级
在网上搜索“线程的优先级在什么时候设置,在任何时候都能设置吗?”之类的问题,得到的答案基本都说:
线程开始(start)之前,仔细想想好像也合理,但是,实践是检验真理的唯一标准,在没有代码结果证明的情况下的这类答案是不可靠的
下面来验证一下:
先写个测试类
public class Test { public static void main(String[] args) { Runnable r=new Runnable() { int num=0; @Override public void run() { // TODO Auto-generated method stub //线程循环阻塞,没那么快死亡,方便验证结果 for(int i=0;i<100;i++) { num++; try { Thread.sleep(1000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }; Thread t=new Thread(r); //查看线程创建后默认的优先级值 System.out.println(t.getPriority()+"++++++++++"); System.out.println(t.getPriority()+"++++++++++"); //线程启动前设置线程的优先级值为7 t.setPriority(7); //线程启动前查看重新设置后线程的优先级值 System.out.println(t.getPriority()+"++++++++++1111"); System.out.println(t.getPriority()+"++++++++++1111"); //启动线程 t.start(); //线程启动后再次查看线程的优先级值 System.out.println(t.getPriority()+"++++++++++2222"); System.out.println(t.getPriority()+"++++++++++2222"); //线程启动后设置线程的优先级值为8 t.setPriority(8); System.out.println(t.getPriority()+"----------"); System.out.println(t.getPriority()+"----------"); //线程休息5s后重新设置线程优先级并查看优先级值 try { Thread.currentThread().sleep(5000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } t.setPriority(6); System.out.println(t.getPriority()+"**********"); System.out.println(t.getPriority()+"**********"); } }
输出结果为:
5++++++++++
5++++++++++
7++++++++++1111
7++++++++++1111
7++++++++++2222
7++++++++++2222
8----------
8----------
6**********
6**********
正好验证了:java线程在创建后任何时候都可以重新设置优先级
这篇关于Java线程的优先级在什么时候可以重新设置?的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-12百万架构师第十五课:源码分析:Spring 源码分析:SpringMVC核心原理及源码分析|JavaGuide
- 2025-01-11有哪些好用的家政团队管理工具?
- 2025-01-11营销人必看的GTM五个指标
- 2025-01-11办公软件在直播电商前期筹划中的应用与推荐
- 2025-01-11提升组织效率:上级管理者如何优化跨部门任务分配
- 2025-01-11酒店精细化运营背后的协同工具支持
- 2025-01-11跨境电商选品全攻略:工具使用、市场数据与选品策略
- 2025-01-11数据驱动酒店管理:在线工具的核心价值解析
- 2025-01-11cursor试用出现:Too many free trial accounts used on this machine 的解决方法
- 2025-01-11百万架构师第十四课:源码分析:Spring 源码分析:深入分析IOC那些鲜为人知的细节|JavaGuide