概述
线程中的优先级是一个概念,其中每个线程都有一个优先级,用外行的语言可以说每个对象在这里都有优先级,由 1 到 10 的数字表示。
- 默认优先级设置为 5 作为例外。
- 最低优先级设置为 1。
- 最大优先级设置为 10。
这里定义了3个常量,如下所示:
- 公共静态 int NORM_PRIORITY
- 公共静态 int MIN_PRIORITY
- 公共静态 int MAX_PRIORITY
- 我们将使用currentThread()方法来获取当前线程的名称。用户也可以使用setName()方法,如果他/她想根据选择来命名线程以便理解。
- getName()方法将用于获取线程的名称。
线程可接受的优先级值在 1 到 10 的范围内。
让我们讨论如何在java中获取和设置线程的优先级。
- public final int getPriority(): java.lang.Thread.getPriority() 方法返回给定线程的优先级。
- public final void setPriority(int newPriority): java.lang.Thread.setPriority() 方法将线程的优先级更改为值newPriority。如果参数 newPriority 的值超出 minimum(1) 和 maximum(10) 限制,此方法将引发 IllegalArgumentException。
// Java Program to Illustrate Priorities in Multithreading
// via help of getPriority() and setPriority() method
// Importing required classes
import java.lang.*;
// Main class
class ThreadDemo extends Thread {
// Method 1
// run() method for the thread that is called
// as soon as start() is invoked for thread in main()
public void run()
{
// Print statement
System.out.println("Inside run method");
}
// Main driver method
public static void main(String[] args)
{
// Creating random threads
// with the help of above class
ThreadDemo t1 = new ThreadDemo();
ThreadDemo t2 = new ThreadDemo();
ThreadDemo t3 = new ThreadDemo();
// Thread 1
// Display the priority of above thread
// using getPriority() method
System.out.println("t1 thread priority : "
+ t1.getPriority());
// Thread 1
// Display the priority of above thread
System.out.println("t2 thread priority : "
+ t2.getPriority());
// Thread 3
System.out.println("t3 thread priority : "
+ t3.getPriority());
// Setting priorities of above threads by
// passing integer arguments
t1.setPriority(2);
t2.setPriority(5);
t3.setPriority(8);
// t3.setPriority(21); will throw
// IllegalArgumentException
// 2
System.out.println("t1 thread priority : "
+ t1.getPriority());
// 5
System.out.println("t2 thread priority : "
+ t2.getPriority());
// 8
System.out.println("t3 thread priority : "
+ t3.getPriority());
// Main thread
// Displays the name of
// currently executing Thread
System.out.println(
"Currently Executing Thread : "
+ Thread.currentThread().getName());
System.out.println(
"Main thread priority : "
+ Thread.currentThread().getPriority());
// Main thread priority is set to 10
Thread.currentThread().setPriority(10);
System.out.println(
"Main thread priority : "
+ Thread.currentThread().getPriority());
}
}
最后
以上就是缥缈灰狼为你收集整理的Java线程优先级的全部内容,希望文章能够帮你解决Java线程优先级所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复