In Java muss ich eine Klasse implementieren, die Thread erweitert innerhalb einer anderen ähnlichen Klasse. Ist das möglich?
Ein Beispiel für das, was ich versuche, ist das folgende (vereinfachte) Snippet:
%Vor%Der zweite Thread wird direkt in den ersten Thread implementiert. Außerdem würde ich gerne wissen, ob die Implementierung eines solchen Mutex funktioniert. Wenn nicht, gibt es einen besseren (Standard) Weg, es zu tun?
Vielen Dank im Voraus.
Das Thread
wird nicht 'innerhalb', sondern Seite an Seite 'ausgeführt.
Sie können also ein weiteres Thread
starten, um Seite an Seite mit Ihren anderen zwei Thread
zu laufen. Tatsächlich kann jedes Thread
ein weiteres Thread
starten (solange das Betriebssystem dies zulässt).
Ja, das sollte funktionieren und der gemeinsame Mutex sollte es machen. Aus Paranoia würde ich die beiden Mutex-Deklarationen final
machen, um irgendwelche seltsamen "Flucht" -Probleme zu vermeiden. z.B.
Ein Vorschlag: Vielleicht ist das mein Stil, aber für Code wie diesen erweitere ich selten Thread
. Implementieren Sie stattdessen Runnable
. IMO, es ist ein bisschen weniger verwirrend (YMMV hier). Plus, wenn Sie beginnen, erweiterte Gleichzeitigkeitsdienstprogramme wie Executor
zu verwenden, behandeln sie Runnables
, nicht Threads.
Tags und Links java multithreading