Maison  >  Article  >  Java  >  Priorité du thread Java en multithreading

Priorité du thread Java en multithreading

王林
王林avant
2023-09-06 14:21:06782parcourir

Priorité du thread Java en multithreading

Dans le cas du multi-threading, le planificateur de threads alloue des threads à des processus spécifiques en fonction de différentes conditions. leurs priorités. Les threads Java ont des priorités pré-attribuées. De plus, Java virtuel La machine peut également attribuer des priorités aux threads ou les spécifier explicitement par le programmeur. La gamme est La priorité du thread a une valeur comprise entre 1 et 10 (inclus). trois variables statiques Les priorités sont liées à -

  • MAX_PRIORITY - la priorité maximale d'un thread, la valeur par défaut est 10.

  • NORM_PRIORITY - La priorité par défaut du thread, la valeur par défaut est 5.

  • MIN_PRIORITY - La priorité minimale du fil, la valeur par défaut est 1.

La méthode "getPriority()" en Java permet de renvoyer la priorité du thread liée sous forme de valeur.

La méthode "setPriority()" modifie la valeur de priorité d'un thread donné. ça jette IllegalArgumentException se produit lorsque la priorité du thread est inférieure à 1 ou supérieure à 10.

Exemple

Démonstration en temps réel

import java.lang.*;
public class Demo extends Thread{
   public void run(){
      System.out.println("Now, inside the run method");
   }
   public static void main(String[]args){
      Demo my_thr_1 = new Demo();
      Demo my_thr_2 = new Demo();
      System.out.println("The thread priority of first thread is : " + my_thr_1.getPriority());
      System.out.println("The thread priority of first thread is : " +       my_thr_2.getPriority());
      my_thr_1.setPriority(5);
      my_thr_2.setPriority(3);
      System.out.println("The thread priority of first thread is : " +    my_thr_1.getPriority());
      System.out.println("The thread priority of first thread is : " + my_thr_2.getPriority());
      System.out.print(Thread.currentThread().getName());
      System.out.println("The thread priority of main thread is : " +
      Thread.currentThread().getPriority());
      Thread.currentThread().setPriority(10);
      System.out.println("The thread priority of main thread is : " +
      Thread.currentThread().getPriority());
   }
}

Output

The thread priority of first thread is : 5
The thread priority of first thread is : 5
The thread priority of first thread is : 5
The thread priority of first thread is : 3
The thread priority of main thread is : 5
The thread priority of main thread is : 10

La classe nommée Demo hérite de la classe de base Thread. La fonction « run » est définie et pertinente Le message est défini. Dans la fonction principale, deux instances de la classe Demo sont créées et elles sont La priorité est trouvée en appelant la fonction "getPriority".

Ils sont imprimés sur la console. Ensuite, attribuez une priorité à l'instance de démonstration en utilisant : Fonction « Définir la priorité ». La sortie est affichée sur la console. Imprimer le nom du fil Affiché à l'écran à l'aide de la fonction "getName".

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer