Maison  >  Article  >  Java  >  Méthode d'implémentation du multi-threading basée sur l'apprentissage Java

Méthode d'implémentation du multi-threading basée sur l'apprentissage Java

高洛峰
高洛峰original
2017-03-19 11:23:521657parcourir

Cet article présente la méthode d'implémentation du multi-threading basée sur l'apprentissage Java

1 Hériter de la classe Thread

Bien que la méthode d'héritage de la classe Thread soit répertoriée comme une implémentation multi-thread méthode par moi, Thread est essentiellement une instance qui implémente l'interface Runnable, qui représente une instance d'un thread, et la seule façon de démarrer un thread est via la méthode d'instance start() de la classe Thread. La méthode start() est une méthode native qui démarrera un nouveau thread et exécutera la méthode run(). Il est très simple d'implémenter le multithread de cette manière. En étendant directement Thread via votre propre classe et en remplaçant la méthode run(), vous pouvez démarrer un nouveau thread et exécuter votre propre méthode run() définie.

public class MyThread extends Thread {  
  public void run() {  
   System.out.println("MyThread.run()");  
  }  
} 
 //启动线程
MyThread myThread1 = new MyThread();  
MyThread myThread2 = new MyThread();  
myThread1.start();  
myThread2.start();

2 Implémenter l'interface Runnable

Si une classe hérite d'une autre classe, elle ne peut pas hériter de la classe Thread (l'héritage multiple n'est pas pris en charge en Java), donc l'interface Runnable doit être implémentée . Réécrivez la méthode run() dans la classe et implémentez le multithreading dans la méthode principale : instanciez un objet de classe d'implémentation, initialisez l'objet de classe Thread et transmettez la classe d'implémentation dans l'objet Thread. En fait, lorsqu'un paramètre cible Runnable est transmis à Thread, la méthode run() de Thread appellera target.run().

//实现Runnable接口
public class MyThread extends OtherClass implements Runnable {  
  public void run() {  
   System.out.println("MyThread.run()");  
  }  
}  
//复写run()方法
public void run() {  
  if (target != null) {  
   target.run();  
  }  
} 
//实例化对象
MyThread myThread = new MyThread();  
Thread thread = new Thread(myThread);  
thread.start();

3 Utilisez ExecutorService, Callable et Future pour implémenter le multi-threading avec les résultats renvoyés

Cette partie du contenu n'a pas encore été apprise et ne sera pas enregistrée. Elle le sera. ajouté plus tard


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!

Déclaration:
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