我是靠谱客的博主 缥缈灰狼,最近开发中收集的这篇文章主要介绍Java线程优先级,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

线程中的优先级是一个概念,其中每个线程都有一个优先级,用外行的语言可以说每个对象在这里都有优先级,由 1 到 10 的数字表示。 

  • 默认优先级设置为 5 作为例外。
  • 最低优先级设置为 1。
  • 最大优先级设置为 10。

这里定义了3个常量,如下所示:

  1. 公共静态 int NORM_PRIORITY
  2. 公共静态 int MIN_PRIORITY
  3. 公共静态 int MAX_PRIORITY
  • 我们将使用currentThread()方法来获取当前线程的名称。用户也可以使用setName()方法,如果他/她想根据选择来命名线程以便理解。
  • getName()方法将用于获取线程的名称。

 线程可接受的优先级值在 1 到 10 的范围内。 

让我们讨论如何在java中获取和设置线程的优先级。 

  1. public final int getPriority(): java.lang.Thread.getPriority() 方法返回给定线程的优先级。
  2. 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线程优先级所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部