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...
- Expliquer le cycle de vie d'un thread en Java.
- Comment créer des threads Java (exemples Java pour créer des threads) ?
- Synchronisation des threads en Java avec exemple.
- Programme Java pour montrer un exemple de thread.
- Programme Java pour rejoindre les discussions.