ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

线程优先级与调度05

2022-07-24 21:02:10  阅读:120  来源: 互联网

标签:优先级 Thread SimpleThread 05 t2 PRIORITY 线程


 

  • 优先级与调度:1. java中线程是有优先级的。

                                   2. Thread类有三个优先级的静态常量:Tread.MIN_PRIORITY(优先级最小)

                                                                                                 Tread.MAX_PRIORITY(优先级最高)

                                                                                                 NORM_PRIORITY(表示缺省优先级,默认值为5)

  • 优先级的操作:1. 获得线程的优先级:int get Priority();

    2. 改变线程的优先级:对象.setPriority(Thread.优先级)

  • 调度:1. 目前计算机多数是单个CPU以上某种顺序执行的多个线程为线程的调度。

                      2. java中线程调度采用抢先式调用方法。

  • 抢先式调度模式:1. 低优先级线程被高优先等级线程强占运行,每个线程都有优先级,可用setPriority方法

                                     改变。每个优先级有一个等待池。

2. 由于优先级低的线程只有等优先级高的线程运行完毕或者优先级高的线程进入阻塞状态

    才有机会运行,为了让优先级低的线程也有机会运行,通常会不时让优先级高的线程进

    入睡眠或者等待状态让出CPU的控制权。

注意:线程优先级仍无法保障线程的执行次序,只是获取CPU概率较大。

package src;
class SimpleThread extends Thread
{
String name;
SimpleThread(String threadname)
{
name=threadname;
}
public void run()
{
for (int i=0;i<3;i++)
System.out.println(name+"第"+i+"次运行"+",优先级为:"+getPriority());
}
}
class Setprio
{
public static void main(String args [])
{
Thread t1=new SimpleThread("t1");
t1.setPriority(Thread.MIN_PRIORITY);
t1.start();
Thread t2=new SimpleThread("t2");
t2.setPriority(Thread.MAX_PRIORITY);
t2.start();
Thread t3=new SimpleThread("t3");
t3.start();
Thread t4=new SimpleThread("t4");
t4.start();
}
}

标签:优先级,Thread,SimpleThread,05,t2,PRIORITY,线程
来源: https://www.cnblogs.com/zjwcoblogs/p/16515428.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有