/ / Threads in Java verstehen - Java, Multithreading

Verstehen von Threads in Java - Java, Multithreading

Ich bin ziemlich neu in den Konzepten von Threads in Javaund obwohl ich ein paar codes ausprobiert habe und sie funktionieren, verstehe ich wirklich nicht genau, was im hintergrund passiert. zum beispiel habe ich diesen code geschrieben:

public class myThreadTest implements Runnable {
private static void ping(String text, int count)
throws InterruptedException {
for (int i = 0; i<count; i++) {
System.out.println("ping "+text+i+"...");
Thread.sleep(1000);
}
}
public void run() {
try {
ping("run ",10);
} catch (InterruptedException e) {
}
}
public static void main(String[] args) {
(new Thread(new myThreadTest())).start();
try {
ping("main ", 5);
} catch (InterruptedException e) {
}
}
}

Werden hier zwei Threads ausgeführt, einer von main und der andere von der Methode run? Bcoz die Ausgabe, die ich bekomme, ist main, run, main, run, main ... so etwas.

Antworten:

3 für die Antwort № 1

Ja, die beiden werden gleichzeitig ausgeführt.

Ein Thread ist ein Thread zur Ausführung in einem Programm. Mit der Java Virtual Machine kann eine Anwendung mehrere Ausführungsthreads gleichzeitig ausführen.

Ich kann es nur empfehlen diese Dokumentation bevor die Codierung beginnt. Viel Glück


2 für die Antwort № 2

Threads in Java haben hauptsächlich mit der Parallelität zu tun. Dabei handelt es sich um die Vorstellung, dass mehrere Dinge gleichzeitig geschehen. Ein Thread ist ein unabhängiger Ausführungspfad innerhalb eines Programms.

Aus Ihrem Programm kann ich sehen, dass Ihr Code startetZwei Threads führen beim Start den ersten Befehl aus, die for-Schleife schläft 1 Sekunde lang und führt dann die run-Methode aus und wieder zurück, bis die for-Schleife erschöpft ist, sodass der Lauf mit 9 fortfährt


2 für die Antwort № 3

Das ist richtig. Versuchen Sie das Thread-ID in deinem ping() Methode, um zu sehen, dass verschiedene Threads ausgeführt werden (Sie können Ihre Threads auch benennen, und ich befolge diese Methode, um zu verstehen, welcher Thread was tut)


0 für die Antwort № 4

Es gibt zwei Themen. Einer der Threads wird erstellt und ausgeführt run Methode asynchron aufgrund der start im Hauptblock anrufen. Der andere Thread führt das aus main Methode selbst.