Maison > Java > javaDidacticiel > le corps du texte

Comment créer et utiliser des threads en langage Java

WBOY
Libérer: 2023-06-10 08:16:43
original
1048 Les gens l'ont consulté

Java est un langage de haut niveau largement utilisé pour développer diverses applications, notamment des applications de niveau entreprise. Le langage Java possède de nombreuses fonctionnalités, telles que l'orientation objet, le multiplateforme, l'encapsulation, l'héritage, le multi-threading, etc. Parmi eux, le multithreading est souvent utilisé dans le développement Java, principalement pour améliorer la concurrence et la réactivité du programme. Cet article présentera en détail la création et l'utilisation des threads du langage Java.

1. Le concept de base des threads

Un thread est la plus petite unité de planification du système d'exploitation, et un thread est la plus petite unité d'exécution d'un programme. Les threads en Java sont des instances de la classe Thread, et chaque thread possède sa propre pile et son propre compteur de programme. Le langage Java prend en charge le multithreading, le programme peut créer plusieurs threads et ces threads peuvent s'exécuter simultanément. Il existe cinq états de threads Java, à savoir Nouveau (nouveau), Exécutable (prêt), Bloqué (bloqué), En attente (en attente) et Terminé (terminé).

2. Comment créer des threads

Le langage Java propose deux façons de créer des threads, l'une consiste à hériter de la classe Thread et l'autre à implémenter l'interface Runnable.

1. Hériter de la classe Thread

classe publique MyThread étend Thread{

@Override
public void run(){
    //执行线程任务
}
Copier après la connexion
Copier après la connexion

}

2. Implémenter l'interface Runnable

classe publique MyRunnable implémente Runnable{

@Override
public void run(){
    //执行线程任务
}
Copier après la connexion
Copier après la connexion

}

3. Les threads sont L'une des caractéristiques importantes du langage Java est que grâce à l'utilisation du multithreading, les performances du processeur multicœur de l'ordinateur peuvent être pleinement utilisées et l'efficacité du programme améliorée. Ci-dessous, nous présenterons quelques utilisations courantes des threads Java.

1. Démarrer un fil de discussion

MyThread thread1 = new MyThread();

thread1.start();


MyRunnable runnable = new MyRunnable();

Thread thread2 = new Thread(runnable);

thread2.start() ;

2. Priorité du thread

La priorité du thread en Java est représentée par un nombre entier, allant de 1 à 10, et la priorité par défaut est 5. Nous pouvons contrôler le nombre d'exécutions de threads en définissant la priorité du thread. Les threads avec des priorités plus élevées obtiendront plus de temps d'exécution du processeur.

thread1.setPriority(Thread.MAX_PRIORITY);//Définir la priorité la plus élevée

3. Veille du thread

Le mode veille du thread peut suspendre le thread actuel pendant un certain temps, ce qui peut éviter une utilisation inutile du processeur. Nous pouvons implémenter la veille des threads via la méthode Thread.sleep.

try{

Thread.sleep(1000);//睡眠1秒
Copier après la connexion

}catch(InterruptedException e){

e.printStackTrace();
Copier après la connexion

}

4. Rejoindre un fil de discussion

Rejoindre un fil de discussion signifie laisser le fil de discussion actuel attendre qu'un autre fil de discussion termine son exécution avant de continuer. En Java, nous pouvons rejoindre des threads via la méthode Thread.join.

thread1.join();//Attente de la fin de l'exécution du thread 1

5. Synchronisation des threads

Dans la programmation multi-thread Java, la synchronisation des threads est très importante, principalement pour éviter les conflits entre les threads et garantir la sécurité des threads. En Java, nous pouvons utiliser le mot-clé synchronisé pour réaliser la synchronisation des threads.

méthode vide synchronisée publique(){

//同步代码块
Copier après la connexion

}

6. Interruption du fil

L'interruption du fil en Java est implémentée via la méthode d'interruption. Lorsqu'un thread est interrompu, une InterruptedException sera levée, que nous pouvons gérer dans le bloc catch.

try{

Thread.sleep(1000);
Copier après la connexion

}catch(InterruptedException e){

//线程被中断,进行处理
Copier après la connexion

}

7. Pool de threads

Le pool de threads est une méthode de gestion de threads couramment utilisée en Java. Il peut éviter la surcharge de performances liée à la création et à la destruction fréquentes de threads. et améliorer l’efficacité opérationnelle du Programme. En Java, nous pouvons créer des pools de threads via la classe Executors. Les pools de threads incluent généralement quatre types : FixedThreadPool, CachedThreadPool, ScheduledThreadPool et SingleThreadExecutor.

ExecutorService executor = Executors.newFixedThreadPool(10);

IV.Résumé

Cet article présente la création et l'utilisation des threads en langage Java, y compris le concept de base des threads, comment créer des threads, comment utiliser les threads, etc. Dans le développement Java, l'utilisation de threads est très courante, ce qui peut améliorer la concurrence et la réactivité du programme. Cependant, la gestion des threads est également très importante et il faut prêter attention à la sécurité et à l'optimisation des threads. J'espère que cet article pourra aider tout le monde à mieux comprendre l'utilisation des threads Java.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!