Rumah  >  Artikel  >  Java  >  Keutamaan benang Java dalam multithreading

Keutamaan benang Java dalam multithreading

王林
王林ke hadapan
2023-09-06 14:21:06784semak imbas

Keutamaan benang Java dalam multithreading

Dalam kes berbilang benang, penjadual benang memperuntukkan benang kepada proses tertentu berdasarkan keadaan yang berbeza. keutamaan mereka. Benang Java mempunyai keutamaan yang telah ditetapkan. Di samping itu, java virtual Mesin juga boleh menetapkan keutamaan kepada benang atau menentukannya secara eksplisit oleh pengaturcara. Julatnya ialah Keutamaan benang mempunyai nilai antara 1 dan 10 (termasuk). tiga pembolehubah statik Berkaitan dengan keutamaan ialah -

  • MAX_PRIORITY - keutamaan maksimum yang dimiliki oleh thread, nilai lalai ialah 10.

  • NORM_PRIORITY - Keutamaan lalai thread mempunyai, nilai lalai ialah 5.

  • MIN_PRIORITY - Keutamaan minimum benang, lalai ialah 1.

Kaedah "getPriority()" dalam Java membantu mengembalikan keutamaan utas terikat sebagai nilai.

Kaedah "setPriority()" menukar nilai keutamaan urutan tertentu. ia melempar IllegalArgumentException berlaku apabila keutamaan urutan kurang daripada 1 atau lebih daripada 10.

Contoh

Demonstrasi masa nyata

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

Kelas bernama Demo mewarisi daripada Thread kelas asas. Fungsi 'run' ditakrifkan dan relevan Mesej ditakrifkan. Dalam fungsi utama, dua contoh kelas Demo dicipta dan ia adalah Keutamaan ditemui dengan memanggil fungsi "getPriority".

Ia dicetak pada konsol. Seterusnya, tetapkan keutamaan kepada contoh Demo menggunakan: Fungsi 'Tetapkan keutamaan'. Output dipaparkan pada konsol. Cetak nama benang Dipaparkan pada skrin dengan bantuan fungsi "getName".

Atas ialah kandungan terperinci Keutamaan benang Java dalam multithreading. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam