Java-Thread-Verarbeitung

[Java-Thread-Verarbeitung]

Dies ist ein Memo der Java-Thread-Verarbeitung, die im Geschäftsleben verwendet wird. Ich habe es während der Entwicklung verwendet, also habe ich es zusammengefasst.

Was ist ein Thread?

Ein Thread ist ein Mechanismus, der mehrere Prozesse gleichzeitig in einem Programm ausführt.

Java verfügt über eine API, die mehrere Prozesse gleichzeitig ausführt. → Thread-Klasse verwenden (Thread-Erstellung)

・ Betrachten Sie als Beispiel die Registrierkasse in einem Supermarkt. Es ist unpraktisch, weil es Zeit braucht, wenn es nur eine Registrierkasse gibt, wenn sie mit Leuten wie Mittagspausen überfüllt ist. Wenn die Registrierkasse an zwei oder drei Stellen funktioniert, ist es effizient, Personen in kurzer Zeit zu behandeln.

Das Programm ist das gleiche, und wenn Sie mehrere Prozesse gleichzeitig ausführen, können Sie in kurzer Zeit effizient verarbeiten. Der Mechanismus ist Fäden. Fäden werden oft im Alltag verwendet.

Thread-Verarbeitung

1. Erben Sie die Thread-Klasse und überschreiben Sie die run () -Methode.

Schreiben Sie in run () den Inhalt, den Sie verarbeiten möchten, in den Thread.

(Überschreiben bedeutet, die übergeordnete Klasse zu erben und die Mitglieder der übergeordneten Klasse auf der Seite der untergeordneten Klasse zu überschreiben, wenn die untergeordnete Klasse deklariert wird.)

2. Instanziieren Sie an der Stelle, an der Sie die Ausführung eines anderen Threads starten möchten, die Klasse ① und rufen Sie die Methode start () auf.

(Eine Methode ist ein Prozess, bei dem mehrere Anweisungen zusammengefasst und als ein Prozess benannt werden. Die kleinste Einheit eines Teils.)

//Schreiben Sie in der Klasse, die Thread erbt, den Prozess, den Sie ausführen möchten, in den Thread in der Ausführungsmethode.

class Sample extends Thread {
  public void run() {
    System.out.println("Faden");
  }
}
//Erstellen Sie eine Instanz der Klasse, die Thread erbt, rufen Sie die Startmethode auf und führen Sie den Thread aus.

class SampleSample {
  public static void main(String[] args) {
    ThreadSample t = new ThreadSample();
      t.start();
  }
}

//Ausführungsergebnis:Faden

run () wird erstellt und start () führt einen neuen Thread aus.

Es ist ratsam, stop () usw. nicht zu verwenden, da dies zu tödlichen Hindernissen führen kann.

So verwenden Sie Thread.sleep

Es kann verwendet werden, wenn Sie den Betrieb eines Java-Programms anhalten oder auf eine Verarbeitung warten möchten. Der Schlaf wird in der Regel mit Try-Catch eingestellt. Da es jedoch normal ist, dass nichts unternommen wird, auch wenn im Schlaf eine Ausnahme auftritt, ist es ganz normal, dass der Fang leer ist.

* Threads müssen richtig Angst haben.

Überlegen Sie, wie Sie die Verwendung von Threads so weit wie möglich vermeiden können. Bei Multithread-Programmen muss das gesamte Programm bereits in der Entwurfsphase berücksichtigt werden. Wenn Sie Threads verwenden müssen, müssen Sie bereit sein, große Risiken einzugehen.

Lassen Sie genügend Spielraum für den Entwicklungszeitraum und das System. → Schwierig zu testen und Probleme zu identifizieren. Dies kann sich auf den gesamten Entwicklungsprozess auswirken. Da es schwierig ist, Tests gleichzeitig durchzuführen, ist es möglicherweise nicht möglich, strenge Tests durchzuführen, und es kann in die Produktion gehen.

Selbst wenn ein Fehler auftritt, ist er nicht reproduzierbar und es ist schwierig, die Ursache zu identifizieren und das Problem zu beheben.

Wenn dieselbe Variable oder Methode von mehreren Threads gleichzeitig verwendet wird, besteht die Gefahr einer Datenbeschädigung.

//Die exklusive Steuerungsverarbeitung wird synchronisiert durchgeführt, um eine Beschädigung der Daten zu vermeiden.
//Es kann nur ein Thread ausgeführt werden.

synchronized(Zielinstanz){
  //Code, den Sie vor der gleichzeitigen Ausführung durch mehrere Threads schützen möchten
}

Beiseite

Es ist schwer zu merken, weil in meiner Arbeit nacheinander neue Begriffe auftauchen, aber ich genieße meine Arbeit, damit ich denke, dass ich auch in Zukunft mein Bestes geben kann.

Recommended Posts

Java-Thread-Verarbeitung
Java-String-Verarbeitung
[Java] Multithread-Verarbeitung
[Java] Stream-Verarbeitung
Java iterativer Prozess
[Java] Thread und ausführbar
Thread sichere Zusammenfassung ~ Java ~
JAVA-Konstruktoraufrufverarbeitung
Java zufällig, verschiedene Verarbeitung
Java Programming Thread Runnable
[Java] Neue Thread-Generierungsmethode (2)
[Java] Multithread-Verarbeitung - Exklusive Steuerung
Java
[Java] Stream API - Stream-Beendigungsverarbeitung
[Java] Stream API - Stream Zwischenverarbeitung
[Java] Implementierungsmethode für die Timer-Verarbeitung
Java-Thread sicher für Sie
Gemessene Parallelverarbeitung mit Java
Grundlegendes zur Java-Parallelverarbeitung (Einführung)
Java
Java-Thread locker zu verstehen
Zusammenfassung der Java-Fehlerverarbeitung
[Java] Neue Thread-Generierungsmethode (1)
Datumsverarbeitung in Java (LocalDate: Initialisierung)
Delegieren Sie Java-Verarbeitung an JavaScript
[Java] Schleifenverarbeitung und Tabelle von neunundneunzig
Führen Sie node.js von Android Java aus (Verarbeitung)
Thread-sicherer Prozess in Java-Sprache
[Verarbeitung × Java] Verwendung von Variablen
Was ist Thread-sicher (mit Java)
Serververarbeitung mit Java (Einführung Teil.1)
Überraschend tiefe Java-Liste Inversion-Stream-Verarbeitung
Grundlegender Verarbeitungsablauf von Java Stream
Informationen zur Dateikopierverarbeitung in Java
Löschen von Dateien mit rekursiver Verarbeitung [Java]
[Verarbeitung × Java] Verwendung von Arrays
[Java] Memo zur Verarbeitungszeitmessmethode
Lokale Java-Variablen sind threadsicher
[Java] Ausnahmetypen und grundlegende Verarbeitung
Java lernen (0)
Java studieren ―― 3
[Java] -Array
Java geschützt
[Java] Anmerkung
[Java] Modul
Java-Array
Java studieren ―― 9
Java Scratch Scratch
Java-Tipps, Tipps
Java-Methoden
Java-Methode
Java (Konstruktor)
Java-Array
Datenverarbeitung mit der Stream-API von Java 8
Java (überschreiben)
Java (Methode)
Java Day 2018
Java-Zeichenfolge
[Processing x Java] Erstellen einer Entwicklungsumgebung
Java statisch