java 多线程-优先级

优先级priority,调用的概率,建议在start之前设定
.setPriprity(num);可以是数组或下列常量;
取值1到10,
NORM_PRIORITY 5所有线程默认为5
MIN_PRIORITY 1
MAX_PRIORITY 10
.getPriority()获得当前线程优先级

public class n {

public static void main(String[]args) throws InterruptedException
{

    System.out.println(Thread.currentThread().getPriority());
    test t=new test();
    Thread t1=new Thread(t);
    Thread t2=new Thread(t);
    Thread t3=new Thread(t);
    Thread t4=new Thread(t);
    Thread t5=new Thread(t);
    Thread t6=new Thread(t);

    t1.setPriority(Thread.MAX_PRIORITY);
    t2.setPriority(Thread.MAX_PRIORITY);
    t3.setPriority(Thread.MAX_PRIORITY);
    t4.setPriority(Thread.MIN_PRIORITY);
    t5.setPriority(Thread.MIN_PRIORITY);
    t6.setPriority(Thread.MIN_PRIORITY);

    //设置优先级在启动前
    t1.start();
    t2.start();
    t3.start();
    t4.start();
    t5.start();
    t6.start();
}
}

class test implements Runnable
{
public void run()
{
    System.out.println(Thread.currentThread().getName()+"-->"+Thread.currentThread().getPriority());
    Thread.yield();
}
}

原文地址:https://blog.51cto.com/14437184/2428989

时间: 2024-08-28 12:57:12

java 多线程-优先级的相关文章

java多线程优先级问题

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.printl

java多线程--优先级

1. 线程优先级的介绍 java 中的线程优先级的范围是1-10,默认的优先级是5."高优先级线程"会优先于"低优先级线程"执行. java 中有两种线程:用户线程和守护线程.可以通过isDaemon()方法来区别它们:如果返回false,则说明该线程是"用户线程":否则就是"守护线程". 用户线程一般用户执行用户级任务,而守护线程也就是"后台线程",一般用来执行后台任务.需要注意的是:Java虚拟机在&q

java多线程优先级

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 20.0px; font: 14.0px "PingFang SC"; color: #333333; background-color: #ffffff } span.s1 { } 每个类都有自己的优先级,一般property用1-10的整数表示,默认优先级是5,优先级最高是10 原文地址:https://www.cnblogs.com/gjack/p/8440457.html

java多线程系列8-线程的优先级

在java中设置线程优先级使用setPriority,在jdk中的源代码如下: public final void setPriority(int newPriority) { ThreadGroup g; checkAccess(); if (newPriority > MAX_PRIORITY || newPriority < MIN_PRIORITY) { throw new IllegalArgumentException(); } if((g = getThreadGroup())

Java 多线程(三) 线程的生命周期及优先级

Java 多线程(三) 线程的生命周期及优先级 线程的生命周期 线程的生命周期:一个线程从创建到消亡的过程. 如下图,表示线程生命周期中的各个状态: 线程的生命周期可以分为四个状态: 1.创建状态: 当用new操作符创建一个新的线程对象时,该线程处于创建状态. 处于创建状态的线程只是一个空的线程对象,系统不为它分配资源. 2.可运行状态: 执行线程的start()方法将为线程分配必须的系统资源,安排其运行,并调用线程体——run()方法,这样就使得该线程处于可运行状态(Runnable). 这一

Rhythmk 一步一步学 JAVA (21) JAVA 多线程

1.JAVA多线程简单示例 1.1 .Thread  集成接口 Runnable 1.2 .线程状态,可以通过  Thread.getState()获取线程状态: New (新创建) Runnable (可以运行) Blocked  (被阻塞) Waiting  (等待) Timed waiting (计时等待) Terminated  (被终止) ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

(转载)Java多线程入门理解

转载出处http://blog.csdn.net/evankaka 写在前面的话:此文只能说是java多线程的一个入门,其实Java里头线程完全可以写一本书了,但是如果最基本的你都学掌握好,又怎么能更上一个台阶呢?如果你觉得此文很简单,那推荐你看看Java并发包的的线程池(Java并发编程与技术内幕:线程池深入理解),或者看这个专栏:Java并发编程与技术内幕.你将会对Java里头的高并发场景下的线程有更加深刻的理解. 目录(?)[-] 一扩展javalangThread类 二实现javalan

synchronized与static synchronized 的差别、synchronized在JVM底层的实现原理及Java多线程锁理解

本Blog分为例如以下部分: 第一部分:synchronized与static synchronized 的差别 第二部分:JVM底层又是怎样实现synchronized的 第三部分:Java多线程锁,源码剖析 第一部分:synchronized与static synchronized的差别 1.synchronized与static synchronized 的差别 synchronized是对类的当前实例进行加锁,防止其它线程同一时候訪问该类的该实例的全部synchronized块.注意这里

深入聊聊Java多线程

一.背景 在没有学习Java多线程以前,总觉得多线程是个很神秘的东西,只有那些大神才能驾驭,新年假期没事就来学习和了解一下Java的多线程,本篇博客我们就来从头说一下多线程到底是怎么回事. 二.概述 1.进程的概念 每一个正在运行的程序都是一个进程,它是系统进行资源分配和调用的独立单位.且 每一个进程都有自己的内存空间和系统资源. 2.线程的概念 是进程中的单个顺序控制流,是一条执行路径.每个进程都可以拥有一个或者多个线程.各个线程之间都共享所属的那个进程的内存空间和系统资源. 3.单线程和多线