线程的优先级机制(三)
作者:互联网
在多线程的机制下,如果执行的任务非常多,那么这个时候就需要考虑线程的优先级的任务信息。在Java的
应用程序中,优先级分为1-10,最高时优先级是10,最低的优先级是1,其中默认的优先级是5。只所以设置线程
优先级考虑的点是在资源出现瓶颈的情况下,这个时候需要执行的任务非常多,那么也就涉及一个问题,那么任
务先执行,那个任务后执行,这个时候优先级就显得尤为重要,这个时候优先级高的任务就会先执行,优先级低
的任务就会后执行。当然如果是在资源不那么稀缺少的情况下,这个时候任务的执行并不是说优先级高的优先
就会执行,而是看那个任务执行的快就会优先执行。优先级主要是会资源比较稀缺的情况下能够体现出它的实际
应用。下面具体一个具体的案例代码演示线程优先级的设置信息,具体案例代码如下:
package com.example.blog;
public class ThreadPriority
{
public static int count=0;
public static void main(String[] args)
{
Thread thread1=new Thread(new PriorityDemo());
Thread thread2=new Thread(new PriorityDemo());
Thread thread3=new Thread(new PriorityDemo());
thread1.setPriority(8);
thread1.setName("线程一");
thread1.start();
thread2.setPriority(10);
thread2.setName("线程二");
thread2.start();
thread3.setPriority(2);
thread3.setName("线程三");
thread3.start();
try{
Thread.sleep(3000);
}catch (Exception e){
e.printStackTrace();
}
System.out.println("计算结果信息:"+ThreadPriority.count);
}
}
class PriorityDemo implements Runnable
{
@Override
public void run()
{
for(int i=0;i<10;i++)
{
ThreadPriority.count++;
}
System.out.println("线程名称:"+Thread.currentThread().getName());
}
}
在如上代码中,如果按照线程的优先级,那么线程执行的顺序是线程二,线程一,线程三,但是
实际在执行的并不是这样的,这主要是因为目前资源并不是在一个瓶颈的情况下。
标签:优先级,Thread,线程,thread2,new,机制,执行 来源: https://www.cnblogs.com/weke/p/16064727.html