Heim  >  Artikel  >  Java  >  Implementierungsmethode für Multithreading basierend auf Java-Lernen

Implementierungsmethode für Multithreading basierend auf Java-Lernen

高洛峰
高洛峰Original
2017-03-19 11:23:521648Durchsuche

Dieser Artikel stellt die Implementierungsmethode von Multithreading basierend auf Java-Lernen vor

1 Erben Sie die Thread-Klasse

Obwohl die Methode zum Erben der Thread-Klasse als Multithread-Implementierung aufgeführt ist Für mich ist Thread im Wesentlichen eine Instanz, die die Runnable-Schnittstelle implementiert, die eine Instanz eines Threads darstellt, und die einzige Möglichkeit, einen Thread zu starten, ist die start()-Instanzmethode der Thread-Klasse. Die start()-Methode ist eine native Methode, die einen neuen Thread startet und die run()-Methode ausführt. Es ist sehr einfach, Multithreading auf diese Weise zu implementieren, indem Sie Thread direkt durch Ihre eigene Klasse erweitern und die run()-Methode überschreiben. Sie können einen neuen Thread starten und Ihre eigene definierte run()-Methode ausführen.

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 Implementieren Sie die Runnable-Schnittstelle

Wenn eine Klasse eine andere Klasse erbt, kann sie die Thread-Klasse nicht erben (Mehrfachvererbung wird in Java nicht unterstützt), daher muss die Runnable-Schnittstelle implementiert werden . Schreiben Sie die run()-Methode in der Klasse neu und implementieren Sie Multithreading in der Hauptmethode: Instanziieren Sie ein Implementierungsklassenobjekt, initialisieren Sie das Thread-Klassenobjekt und übergeben Sie die Implementierungsklasse an das Thread-Objekt. Wenn ein ausführbarer Zielparameter an Thread übergeben wird, ruft die run()-Methode von Thread tatsächlich target.run() auf.

//实现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 Verwenden Sie ExecutorService, Callable und Future, um Multithreading mit zurückgegebenen Ergebnissen zu implementieren

Dieser Teil des Inhalts wurde noch nicht gelernt und wird nicht aufgezeichnet. Dies wird der Fall sein später hinzugefügt


Das obige ist der detaillierte Inhalt vonImplementierungsmethode für Multithreading basierend auf Java-Lernen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn