Heim  >  Artikel  >  Java  >  Java-Thread-Priorität beim Multithreading

Java-Thread-Priorität beim Multithreading

王林
王林nach vorne
2023-09-06 14:21:06833Durchsuche

Java-Thread-Priorität beim Multithreading

Beim Multithreading weist der Thread-Scheduler Threads basierend auf unterschiedlichen Bedingungen bestimmten Prozessen zu. ihre Prioritäten. Java-Threads haben vorab zugewiesene Prioritäten. Darüber hinaus Java Virtual Die Maschine kann Threads auch Prioritäten zuweisen oder diese explizit vom Programmierer festlegen. Die Reichweite ist Die Thread-Priorität hat einen Wert zwischen 1 und 10 (einschließlich). drei statische Variablen Im Zusammenhang mit Prioritäten stehen -

  • MAX_PRIORITY – die maximale Priorität, die ein Thread hat, der Standardwert ist 10.

  • NORM_PRIORITY – Die Standardpriorität, die der Thread hat, der Standardwert ist 5.

  • MIN_PRIORITY – Die Mindestpriorität des Threads, Standard ist 1.

Die Methode „getPriority()“ in Java hilft dabei, die gebundene Thread-Priorität als Wert zurückzugeben.

Die Methode „setPriority()“ ändert den Prioritätswert eines bestimmten Threads. es wirft Eine IllegalArgumentException tritt auf, wenn die Thread-Priorität kleiner als 1 oder größer als 10 ist.

Beispiel

Echtzeitdemonstration

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());
   }
}

Ausgabe

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

Die Klasse mit dem Namen Demo erbt von der Basisklasse Thread. Die Funktion „run“ ist definiert und relevant Die Nachricht ist definiert. In der Hauptfunktion werden zwei Instanzen der Demo-Klasse erstellt, und zwar Die Priorität wird durch Aufruf der Funktion „getPriority“ ermittelt.

Sie sind auf der Konsole aufgedruckt. Weisen Sie als Nächstes der Demo-Instanz eine Priorität zu, indem Sie Folgendes verwenden: Funktion „Priorität festlegen“. Die Ausgabe wird auf der Konsole angezeigt. Geben Sie den Namen des Threads aus Wird mit Hilfe der Funktion „getName“ auf dem Bildschirm angezeigt.

Das obige ist der detaillierte Inhalt vonJava-Thread-Priorität beim Multithreading. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen