Zum Inhalt springen

Diskussion:Java Standard: Threads

Seiteninhalte werden in anderen Sprachen nicht unterstützt.
Abschnitt hinzufügen
Aus Wikibooks
Letzter Kommentar: vor 1 Monat von 84.142.244.149 in Abschnitt Automatisches Starten von Threads

Verständnisfrage[Bearbeiten]

Hallo, was sind die Unterschiede zwischen Methode 1 und 2? Grüße 87.162.124.88 10:06, 25. Apr. 2009 (CEST)Beantworten

Der Unterschied ist, dass wer nur deshalb von Thread erbt, das Konzept der Objektorientierung [OO] nicht verstanden hat (!). OO ist zwar hier nicht Thema aber das Grundprinzip lautet lachs formuliert... erweitere eine Klasse, wenn du deren Funktionalität erweitern willst. Die Klasse Thread kann nebenläufige Aufgaben durchführen - das ist deren Zweck. Wer jetzt also nur etwas Nebenläufig ausführen will hat somit - aus OO Sicht - keinerlei Begründung dies durch Ableiten der Klasse durchzuführen.
Außerdem ist es eleganter Interfaces zu benutzen, um sich nicht dem Problem der Mehrfachvererbung stellen zu müssen...
--Bastie 16:17, 30. Apr. 2009 (CEST)Beantworten

Größe des Kapitels[Bearbeiten]

Der Inhalt ist vermutlich angemessen. Ich möchte dennoch anregen, das Kapitel in mehrere Unterkapitel (einzelne Seiten) aufzuteilen und das im Inhaltsverzeichnis deutlich zu machen. -- Jürgen 12:56, 2. Feb. 2016 (CET)Beantworten

Automatisches Starten von Threads[Bearbeiten]

Die zweite unter "Methode 1" angegebene Variante, bei der die Methode start() der Klasse SimpleThread schon im Konstruktor aufgerufen wird, sollte man aus zwei Gründen eher vermeiden:

1. Es könnte sein, dass es eine Klasse gibt, welche von SimpleThread abgeleitet ist und dann (implizit oder explizit) Konstruktor von SimpleThread aufruft. Etwaige zusätzliche Instanzvariablen der Unterklasse wären dann aber noch nicht initialisiert, so dass der Thread schon laufen würde, bevor die Objektinitialisierung abgeschlossen wäre. Wäre die Klasse SimpleThread allerdings als final deklariert, würde dieser Punkt natürlich ausscheiden.

2. Grundsätzlich erwarten Programmierende nicht, dass eine Instanz einer Thread-Klasse schon gestartet wird, wenn der Konstruktor aufgerufen wird. Das könnte zu Verwirrung oder zu Programmfehlern führen. 84.142.244.149 12:40, 29. Mai 2024 (CEST)Beantworten