Java >> Tutoriel Java >  >> Java

Propriétés des threads en Java

Priorités des fils

  • Les priorités des fils déterminent comment un fil doit être traité par rapport aux autres.
  • Plusieurs threads s'exécutent simultanément. Chaque thread a une priorité.
  • Le thread qui aura la chance de s'exécuter en premier est décidé par le planificateur de threads en fonction de la priorité des threads.
  • La plage valide de priorité de thread est de 1 à 10​ ​(c'est-à-dire 1,2,3,4.....10.) et 1 est la priorité minimale et 10 est la priorité maximale.
  • Nous pouvons également représenter la priorité des threads en termes de constantes. Fondamentalement, nous avons trois types de constantes comme MIN_PRIORITY, MAX_PRIORITY, NORM_PRIORITY.

Syntaxe :

    Thread.MIN_PRIORITY
    Thread.NORM_PRIORITY
    Thread.MAX_PRIORITY 
  • ​Chaque thread a une certaine priorité et elle peut être définie par la JVM ou l'utilisateur (c'est-à-dire que si elle n'est pas définie par l'utilisateur, la JVM définira la priorité par défaut).
  • Les threads ayant une priorité élevée auront une chance de s'exécuter en premier et les threads ayant la même priorité, alors nous ne pouvons pas nous attendre à un ordre d'exécution exact, tout thread peut avoir une chance.
  • Comment pouvons-nous définir la priorité d'un fil que nous verrons dans l'exemple ci-dessous,

1) Par setPriority (int p) :

Exemple :

class SetPriority{
	public static void main(String[] args){
		System.out.println("Before setting Priority of Main thread is " +
			Thread.currentThread().getPriority());
		Thread.currentThread().setPriority(6);
		System.out.println(" After setting Priority of Main thread is " +
			Thread.currentThread().getPriority());
	}
}

Sortie

D:\Java Articles>java SetPriority
Before setting Priority of Main thread is 5
After setting Priority of Main thread is 6

Comment pouvons-nous obtenir la priorité d'un fil ? Nous verrons dans les exemples ci-dessous...

2) Par getPriority() :

Exemple :

class GetPriority{
	public static void main(String[] args){
		System.out.println("Priority of Main thread is " +
			Thread.currentThread().getPriority());
	}
}

Sortie

D:\Java Articles>java GetPriority
Priority of Main thread is 5

En savoir plus...

  1. Expliquer le cycle de vie d'un thread en Java.
  2. Comment créer des threads Java (exemples Java pour créer des threads) ?
  3. Synchronisation des threads en Java avec exemple.
  4. Programme Java pour montrer un exemple de thread.
  5. Programme Java pour rejoindre les discussions.

Balise Java