Thread优先级之优先级别

注:所谓的线程优先级高就是同其它线程争抢cpu的执行几率高而已,但是企图通过线程优先级来控制业务是不可行的。

/**
 * <p>标题: Threadyield</p>
 * <p>
 *    功能描述:线程通过setpriority(int param)来设置优先级,优先级从低到高为1-10正整数。默认优先级为5。
 *            Thread有三个常量定义了线程的优先级范围
 *            Thread.MIN_PRIORITY;最低1
 *            Thread.NORM_PRIORITY;默认5
 *            Thread.MAX_PRIORITY;最高10
 * </p>
 * <p>创建日期: 2016年3月4日 下午2:57:38</p>
 * <p>作者: lzd</p>
 * <p>版本: 1.0</p>
 */
public class ThreadPriority {
    public static void main(String[] args) {
        Thread thread = new Thread(new Runnable() {

            @Override
            public void run() {
                int i= 0;
                while (i++<100) {
                    System.out.println(Thread.currentThread().getName()+"..............."+i);
                }
            }
        });

        thread.setPriority(Thread.MAX_PRIORITY);//设置最高优先级
        thread.start();

        int j= 0;
        while (j++<100) {
            System.out.println(Thread.currentThread().getName()+"..............."+j);
        }
    }
}
时间: 2024-08-26 10:38:41

Thread优先级之优先级别的相关文章

Java 多线程(二)之 Thread 优先级

Thread 中线程优先级相关属性 每个线程均有优先级,在 Thread 中, 与优先级对应的属性如下: /** * 线程的优先级属性 */ private int priority; /** * 线程所能拥有的最大优先级. */ public final static int MIN_PRIORITY = 1; /** * 线程默认的优先级. */ public final static int NORM_PRIORITY = 5; /** * 线程所能拥有的最大优先级. */ public

Thread优先级之让步

/** * <p>标题: Threadyield</p> * <p> * 功能描述:线程让步 * yield的作用是当前线程调用它后,那么此时该线程放弃cpu执行权,从运行状态转到可运行状态,它不会导致阻塞. * 它的刹那点,就和其它线程争抢cpu执行权. * </p> * <p>创建日期: 2016年3月4日 下午2:57:38</p> * <p>作者: lzd</p> * <p>版本: 1.0&

从 Java 到 JVM 到 OS 线程的优先级

前言Java 的线程的调度机制由 JVM 实现,假如有若干条线程,你想让某些线程拥有更长的执行时间,或某些线程分配少点执行时间,这时就涉及"线程优先级". 优先级别Java 把线程优先级分成10个级别,线程被创建时如果没有明确声明则使用默认优先级,JVM 将根据每个线程的优先级分配执行时间的概率.有三个常量 Thread.MIN_PRIORITY . Thread.NORM_PRIORITY . Thread.MAX_PRIORITY 分别表示最小优先级值(1).默认优先级值(5).最

Java 线程第三版 第九章 Thread调度 读书笔记

一.Thread调度的概述 import java.util.*; import java.text.*; public class Task implements Runnable { long n; String id; private long fib(long n) { if (n == 0) return 0L; if (n == 1) return 1L; return fib(n - 1) + fib(n - 2); } public Task(long n, String id)

Linux中进程的优先级

Linux採用两种不同的优先级范围,一种是nice值.还有一种是实时优先级. 1.nice值 nice值得范围是-20~19,默认值是0. 越大的nice值意味着更低的优先级.也就是说nice值为-20的优先级最高. 2.实时优先级 实时优先级的范围是0~99.其值得意义与nice值相反.即:越高的实时优先级数值意味着进程优先级越高. Linux的进程可分为普通进程和实时进程.实时进程都是一些对响应时间要求比較高的进程.因此实时进程的优先级比普通进程的优先级要高. 3.优先级比較 Linux中的

Java并发学习之二——获取和设置线程信息

本文是学习网络上的文章时的总结,感谢大家无私的分享. Thread类的对象中保存了一些属性信息能够帮助我们辨别每一个线程,知道它的一些信息 ID:每个线程的独特标示: Name:线程的名称: Priority:线程对象的优先级.优先级别在1-10之间,1是最低级,10是最高级. Status:线程状态.在java中,线程只有6种状态:new,runnable,blocked,waiting,time waiting 或terminated. 现在写一个程序,将线程的信息保存到文件中方便查看 pa

Quartz定时任务学习(三)属性文件和jar

以下是我在应用的的一个基本配置: #---------调度器属性----------------org.quartz.scheduler.instanceName = TestSchedulerorg.quartz.scheduler.instanceId = one #---------线程配置---------------org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPoolorg.quartz.threadPool.t

Quartz定时任务学习(二)web应用/Quartz定时任务学习(三)属性文件和jar

web中使用Quartz 1.首先在web.xml文件中加入 如下内容(根据自己情况设定) 在web.xml中添加QuartzInitializerServlet,Quartz为能够在web应用中使用,提供了一个QuartzInitializerServlet和一个QuartzInitializerListener,用于在加载web应用时,对quartz进行初始化. <servlet> <servlet-name> QuartzInitializer </servlet-na

【Quartz】Quartz存储与持久化-基于quartz.properties的配置

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 一.   Quartz存储与持久化 Quartz提供两种基本作业存储类型.第一种类型叫做RAMJobStore,第二种类型叫做JDBC作业存储.在默认情况下Quartz将任务调度的运行信息保存在内存中,这种方法提供了最佳的性能,因为内存中数据访问最快.不足之处是缺乏数据的持久性,当程序路途停止或系统崩溃时,所有运行的信息都会丢失. 比如我们希望安排一个执行100次的任务,如果执行到50次时系