Maison >Java >javaDidacticiel >Comment utiliser les threads en Java
Comment utiliser les threads en Java : créez d'abord un thread, vous pouvez utiliser la classe Thread héritée ou implémenter l'interface Runnable pour créer un thread une fois le thread créé, puis enfin écrire différentes méthodes pour différents threads ; appelez start() Vous pouvez utiliser le fil en démarrant le fil.
Thread (anglais : thread) est la plus petite unité que le système d'exploitation peut effectuer la planification des calculs. Il est inclus dans le processus et constitue la véritable unité opérationnelle du processus. Un thread fait référence à une séquence unique de flux de contrôle dans un processus. Plusieurs threads peuvent s'exécuter simultanément dans un processus et chaque thread exécute différentes tâches en parallèle. On l'appelle également processus légers sous Unix System V et SunOS, mais les processus légers font davantage référence aux threads du noyau, tandis que les threads utilisateur sont appelés threads.
Si vous souhaitez utiliser des fils de discussion, vous devez créer des fils de discussion. Voyons maintenant comment créer des fils de discussion.
Il existe deux manières principales d'implémenter la programmation de threads : l'une consiste à hériter de la classe Thread et l'autre consiste à implémenter l'interface Runnable.
Hériter de la classe Thread
Avant d'apprendre à implémenter les threads, jetons un coup d'œil à la structure de la classe Thread, comme suit :
public class Thread implements Runnable
À partir de la source ci-dessus Le code peut montrer que la classe Thread implémente l'interface Runnable et a une relation polymorphe entre elles.
En fait, la plus grande limitation de l'utilisation de la classe Thread pour implémenter le multi-threading est qu'elle ne prend pas en charge l'héritage multiple. Parce que le langage Java est caractérisé par l'héritage à racine unique, afin de prendre en charge l'héritage multiple. , l'interface Runnable peut être implémentée, tout en implémentant et en héritant. Cependant, les propriétés des threads créés de ces deux manières sont les mêmes lors du travail et il n'y a pas de différence essentielle.
La classe Thread a les deux méthodes de construction courantes suivantes :
public Thread(String threadName) public Thread()
Le format syntaxique de l'héritage de la classe Thread pour implémenter le thread est le suivant :
public class NewThreadName extends Thread { //NewThreadName 类继承自 Thread 类 public void run() { //线程的执行代码在这里 } }
Implémenter l'interface Runnable
Si la classe thread à créer a déjà une classe parent, vous ne pouvez plus hériter de la classe Thread car Java ne prend pas en charge l'héritage multiple , vous devez donc implémenter l'interface Runnable pour faire face à de telles situations.
Le format de syntaxe pour implémenter l'interface Runnable est le suivant :
public class thread extends Object implements Runnable
Un programme qui implémente l'interface Runnable créera un objet Thread et associera l'objet Runnable à l'objet Thread. La classe Thread a les deux constructeurs suivants liés à Runnable :
public Thread(Runnable r); public Thread(Runnable r,String name);
Utilisez l'un des deux constructeurs ci-dessus pour associer un objet Runnable à une instance de Thread. Les étapes de base pour démarrer un thread à l'aide de l'interface Runnable sont les suivantes.
Créez un objet Runnable.
Créez une instance Thread en utilisant la méthode constructeur qui prend un objet Runnable comme paramètre.
Appelez la méthode start() pour démarrer le fil de discussion.
Lors de la création d'un thread en implémentant l'interface Runnable, le développeur doit d'abord écrire une classe qui implémente l'interface Runnable, puis instancier un objet de cette classe, créant ainsi un objet Runnable. Créez ensuite une instance de Thread à l'aide de la méthode constructeur correspondante. Enfin, utilisez cette instance pour appeler la méthode start() de la classe Thread pour démarrer le thread,
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!