[Java] Multithread-Verarbeitung

Fazit

Was ist ein Thread?

Was ist ein Prozess?

Prozess 1    | Thread 1..n

Speicherkonfiguration

1111_1.png

Thread Features-Independent / Memory Space Sharing

public class Main {
    String hoge = "hoge"; //Diese Variable wird gemeinsam genutzt
    public static void main(String[] args) {
        new Main().run();
    }
    private void run(){
        while (true) {
            System.out.println("1"); //Haupt-Bedroung
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println("2");
        }
    }
}

Thread-Erstellung / Ausführung

Thread-Klasse erben

public class MyThread extends Thread {
//Die eigentliche Thread-Verarbeitung ist eine vom Thread abgeleitete Klasse
  @Override
  public void run() {
    for (var i = 0; i < 30; i++) {
      //Holen Sie sich den Thread-Namen mit getName
      System.out.println(this.getName() + ": " + i);
    }
  }
}
public class ThreadBasic {

  public static void main(String[] args) {
    //Threads instanziieren und erstellen
    var th1 = new MyThread();
    var th2 = new MyThread();
    var th3 = new MyThread();
    //Thread mit Startmethode starten
    th1.start();
    th2.start();
    th3.start();
  }
}

Ausführung der ausführbaren Schnittstelle

public class MyRunner implements Runnable {
  //Tatsächliche Thread-Verarbeitung
  @Override
  public void run() {
    for (var i = 0; i < 30; i++) {
      System.out.println(Thread.currentThread().getName() + ": " + i);
    }
  }
}
public class RunnableBasic {

  public static void main(String[] args) {
    //Thread-Erstellung
    var th1 = new Thread(new MyRunner());
    var th2 = new Thread(new MyRunner());
    var th3 = new Thread(new MyRunner());
    //Fadenstart
    th1.start();
    th2.start();
    th3.start();
  }
}

Recommended Posts

[Java] Multithread-Verarbeitung
Java-Thread-Verarbeitung
Java-String-Verarbeitung
[Java] Stream-Verarbeitung
Java iterativer Prozess
JAVA-Konstruktoraufrufverarbeitung
Java zufällig, verschiedene Verarbeitung
Java
[Java] Implementierungsmethode für die Timer-Verarbeitung
Gemessene Parallelverarbeitung mit Java
Grundlegendes zur Java-Parallelverarbeitung (Einführung)
Java
Zusammenfassung der Java-Fehlerverarbeitung
Delegieren Sie Java-Verarbeitung an JavaScript
Führen Sie node.js von Android Java aus (Verarbeitung)
[Verarbeitung × Java] Verwendung von Variablen
Serververarbeitung mit Java (Einführung Teil.1)
Überraschend tiefe Java-Liste Inversion-Stream-Verarbeitung
Grundlegender Verarbeitungsablauf von Java Stream
Löschen von Dateien mit rekursiver Verarbeitung [Java]
[Verarbeitung × Java] Verwendung von Arrays
[Java] Memo zur Verarbeitungszeitmessmethode
[Java] Ausnahmetypen und grundlegende Verarbeitung
Java lernen (0)
Java studieren ―― 3
[Java] -Array
[Java] Anmerkung
[Java] Modul
Java-Array
Java-Tipps, Tipps
Java-Methoden
Java-Methode
Java (Konstruktor)
Java-Array
[Java] ArrayDeque
Datenverarbeitung mit der Stream-API von Java 8
Java (überschreiben)
Java (Methode)
Java Day 2018
[Processing x Java] Erstellen einer Entwicklungsumgebung
Java (Array)
Java statisch
Java-Serialisierung
JAVA hat bezahlt
Java (gesetzt)
Java-Shell-Sortierung
Java studieren -5
Java reflektierend 获 获 举
Java (Schnittstelle)
Java-Memorandum
Java studieren ―― 1
[Java] Array
[Java] Polymorphismus
Java # 0 studieren
Java-Überprüfung
Java-Framework
Java-Funktionen
Datumsverarbeitung
Java-Funktionen