Kann ein Runnable Objekt auf das Thread Objekt zugreifen?

Status
Nicht offen für weitere Antworten.

haimat

Mitglied
Hallo zusammen,

ich habe einen ThreadPool (via Executor), mit dem ich eine Reihe von Threads gewisse Arbeiten erledigen lasse. Sowohl das Thread- als auch das Runnable-Objekt sind selbst-erstellte Klassen, beide haben also neben der eigentlichen run() Methode auch noch weitere Methoden.

Ist es nun möglich, dass ich von einem Runnable Objekt, welches in einem Thread ausgeführt wird, direkt auf public Methoden des zugehörigen Thread Objekts zugreife? Kurz gesagt: Kann ich zusammengehörende Thread und Runnable Objekte miteinander interagieren lassen? Die Frage ist auch: Wie bekommt das Runnable Objekt das ausführende Thread Objekt?

Besten Dank im Voraus für eure Hilfe und Ideen!

Viele Grüße, Matthias
 
S

SlaterB

Gast
an den aktuell laufenden Thread bekommst du mit
Thread.currentThread()
welchen du dann wahrscheinlich auf deine Klasse casten kannst,

dies ist aber keine Besonderheit von Runnable, das funktioniert von überall aus,
außerdem gibts keine Garantie, dass nicht ein anderer Thread oder mehrere Threads die run()-Methode eines Runnable (oder gar die run-Methode von Thread) durchlaufen,
zwischen den fassbaren Objekten und dem Java-Prozess gibts keine richtige Verbindung

Runnable ist nur ein beliebiges Interface,
wenn du eine eigene Thread-Klasse schreibst, die im Konstruktor das neue Interface 'Walkable' akzeptiert,
dann gilt für die komplett neue Klasse/ Interface Walkable genau das gleiche wie für Runnable,
nämlich im Grunde gar nix (besonderes)


edit:
wenn du eigene Thread-Klassen und statt Runnable ein anderes Interface/ Basisklasse verwendest,
kannst du dafür sorgen, dass die beiden Objekte verknüpft sind,
setter/ getter einführen, im Konstrukor der neuen Thread-Klasse aufrufen usw.
 
Zuletzt bearbeitet von einem Moderator:

haimat

Mitglied
Hallo SlaterB,

danke für deine Antwort. Ich fürchte aber, dein Vorschlag (aus dem "edit") hilft mir in diesem Fall nicht (bzw. ich hab ihn nicht richtig verstanden). Mein Problem ist ja, dass ich via ThreadPool und Executor mehrere Threads laufen habe, wobei der Executor für mich die Verteilung der Runnable Objekt auf diese Threads vornimmt.

Wenn ich dem Executor nun ein Runnable Objekt zur Ausführung gebe, und er einen freien Thread nimmt und damit das Runnable Objekt ausführt, dann weiss ich (bzw. dieses Runnable Objekt) vorher ja noch nicht, welcher Thread dafür verwendet wird. Ich bräuchte also so etwas wie eine "getMyThread()" Methode, welche ich im Runnable Objekt ausführen kann, um das zugehörige Thread Objekt zu bekommen.

Ist das irgendwie möglich?
 
S

SlaterB

Gast
Thread.currentThread()

trifft es immer noch, ansonsten kannst du auch genau der Übergabe die getter/ setter aufrufen
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Probleme beim Erstellen eines runnable-jar files Allgemeine Java-Themen 1
A Runnable Jar gegen Bezahlung Allgemeine Java-Themen 3
Tobero Eclipse Runnable jar exportiert keine Textures? Allgemeine Java-Themen 12
L Eclipse Runnable Jar mit Dateien Allgemeine Java-Themen 8
S runnable jar file in Verbindung mit itext Allgemeine Java-Themen 3
M Image für PDF nicht verfügbar - Runnable .jar Allgemeine Java-Themen 3
J Runnable jar-File: Fehlermeldung Allgemeine Java-Themen 2
Wirago (runnable) JAR-File ausführen Allgemeine Java-Themen 6
A runnable jar läuft mur auf einem pc1 und nicht auf pc2 Allgemeine Java-Themen 6
K Auf Methoden der Runnable Klasse zugreifen Allgemeine Java-Themen 2
D Wozu runnable implementieren? Allgemeine Java-Themen 3
C Runnable Jars Allgemeine Java-Themen 2
J Threads und Runnable Allgemeine Java-Themen 2
K Runnable Jar mit Doppelklick ausführen Allgemeine Java-Themen 10
P Runnable Jar File über Windows ausführbar doch über Linux nicht Allgemeine Java-Themen 8
C Kann Methode nicht aus Klassenname implements Runnable nutzen Allgemeine Java-Themen 7
DamienX Erweitern von Runnable Allgemeine Java-Themen 3
R in einem neuen Runnable() eine lokale Varibale verwenden Allgemeine Java-Themen 2
V Aufruf von Klasse mit Runnable versteh ich nicht Allgemeine Java-Themen 8
N an die Klasse eines Runnable Threads kommen? Allgemeine Java-Themen 9
N Lwjgl 3d Objekt wird schmaler, wenn es sich dreht Allgemeine Java-Themen 0
B Ein Objekt einer Klasse mehreren anderen Klassen zur Verfügung stellen? Allgemeine Java-Themen 6
T Objekt Array Aufgabe mit Busdatenbank Allgemeine Java-Themen 2
Maxi-JOO Klassen Dummy Objekt in anderen Constructor übergeben Allgemeine Java-Themen 5
el_niiinho13 Objekt auf der Konsole ausgeben lassen Allgemeine Java-Themen 8
d.lumpi Aus Einer Klasse auf ein Objekt einer anderen Klasse Zugreifen Allgemeine Java-Themen 1
A Objekt aus anderen Objekten machen Allgemeine Java-Themen 8
SaftigMelo In einem Winkel Objekt bewegen Allgemeine Java-Themen 2
E Datentypen Wie kann ich die Längen der unterschiedlichen Ebenen aus einem Objekt lesen von dem ich weiß, dass es ein mehrdimensionaler Array ist? Allgemeine Java-Themen 3
H Objekt speichern und laden Allgemeine Java-Themen 1
H Objekt speichern und laden Allgemeine Java-Themen 1
J Objekt in Bytestream umwandeln Allgemeine Java-Themen 12
J Wie kann ich von Vornherrein einen Fokus auf ein Objekt entfernen? Allgemeine Java-Themen 3
J Information von getSource() Objekt auslesen Allgemeine Java-Themen 1
Drachenbauer Wie stelle ich fest, ob ein Objekt in meinem Array vorkommt? Allgemeine Java-Themen 5
S Variable als Objekt Name Allgemeine Java-Themen 3
D Input/Output Zwischen zwei ID-Räumen unterscheiden und Objekt löschen Allgemeine Java-Themen 16
L Objekt aus Objekt-array "löschen" Allgemeine Java-Themen 2
T Objekt mit String und Int aus TxT Datei erstellen Allgemeine Java-Themen 23
T Objekt in Array packen Allgemeine Java-Themen 6
K Methodenaufruf mit String / String zu Objekt konvertieren Allgemeine Java-Themen 8
S Neues Objekt darstellen Allgemeine Java-Themen 4
J Best Practice Objekt an alle Klassen verteilen ( Discord Bot ) Allgemeine Java-Themen 7
D Objekt-Suche mit mehreren optionalen Parametern Allgemeine Java-Themen 6
M Klassen Objekt weiter geben Allgemeine Java-Themen 1
B Klassen Objekt erzeugen und Konstruktor aufrufen - Welche Lösung ist besser? Allgemeine Java-Themen 2
L Variablen Eigenes Objekt wie z.B. einen Integer zuweisen Allgemeine Java-Themen 3
D Konstruktor - jedes Objekt einzeln erzeugen - alternative? Allgemeine Java-Themen 8
S Applet Überprüfen ob ein Objekt angeklickt wurde Allgemeine Java-Themen 2
RalleYTN 3D Objekt Translation basierend auf Rotation (Probleme mit Z Rotation) Allgemeine Java-Themen 0
B Von String zu <Objekt> ||Speichern/Laden Allgemeine Java-Themen 17
G Neues Objekt aus List<JsonObject> mit Stream Allgemeine Java-Themen 4
P Threads Objekt im Konstruktor anders wie im Run()-Block Allgemeine Java-Themen 10
R Objekt funktioniert nicht auf iOS Allgemeine Java-Themen 15
K Textdatei als Objekt Allgemeine Java-Themen 4
Viktim Classenname zu Objekt Allgemeine Java-Themen 4
P Entity Objekt Methoden vs Service methoden Allgemeine Java-Themen 2
D Datentypen Klassenattribut aus Objekt in generischer Liste Allgemeine Java-Themen 15
O Klassen Bruch im gleichen Objekt Speichern Allgemeine Java-Themen 1
P Liste zu Objekt umwandeln Allgemeine Java-Themen 4
C Liste checken auf MINDESTENS ein Objekt | Bukkit Allgemeine Java-Themen 3
K Best Practice JFrame Objekt allgemein zugänglich machen Allgemeine Java-Themen 8
B ArrayList in ein Objekt legen Allgemeine Java-Themen 1
D Objekt entlang eines Funktionsgraphens bewegen Allgemeine Java-Themen 6
M Objekt serialisieren/deserialisieren und in einer SQLite-Datenbank speichern Allgemeine Java-Themen 3
D Java Objekt als Service in Runtime registrieren Allgemeine Java-Themen 1
S Interaktion mit einer website (website als Objekt?) Allgemeine Java-Themen 3
J OOP Überwachen, ob ein Objekt erzeugt wird Allgemeine Java-Themen 9
S Byte Array welches in Laufzeit aufgelöst wird // Objekt Array Allgemeine Java-Themen 3
Thallius Hash über serialisiertes Objekt? Allgemeine Java-Themen 3
Developer_X Input/Output Serialisiertes Objekt speichern und laden Allgemeine Java-Themen 1
C Generics Objekt in ArrayList Allgemeine Java-Themen 2
L Klassen Konstruktor soll Objekt anderer Klasse erzeugen Allgemeine Java-Themen 2
F Neues Objekt aus .CSV definition Allgemeine Java-Themen 3
K Methoden Objekt wird nicht erkannt Allgemeine Java-Themen 11
P Objekt mit verschiedenen Datentypen Allgemeine Java-Themen 5
T Objekt kontaktiert seinen "erzeuger" Allgemeine Java-Themen 5
S Objekt orientierte Programmierung Allgemeine Java-Themen 7
C Objekt Datenverlust nach Methodenaufruf Allgemeine Java-Themen 9
H JavaFX Von einer Methode auf stage-Objekt zugreifen Allgemeine Java-Themen 3
T WeakReference/PhantomReference: Mitbekommen WELCHES Objekt nun GC'ed wird Allgemeine Java-Themen 2
T Class-Objekt mit URLClassloader Allgemeine Java-Themen 7
P Konsoleneingabe übernehmen und Objekt instanzieren. Allgemeine Java-Themen 5
E Auf Java-Objekt aus anderer Instanz zugreifen Allgemeine Java-Themen 26
L Klassen Polymorphie:2 Attribute gleichen Namens in einem Objekt Allgemeine Java-Themen 6
P Objekt Array in Datei Speichern Allgemeine Java-Themen 3
F Dynamisch ein Objekt einer bestimmten Subklasse erstellen Allgemeine Java-Themen 7
D Player Objekt - Frame über Server anzeigen lassen. Allgemeine Java-Themen 3
V Objekt löschen Allgemeine Java-Themen 7
A OOP Wie auf Objekt der Superklasse zugreifen? Allgemeine Java-Themen 6
S Datei in File-Objekt mit UTF-8 einlesen Allgemeine Java-Themen 2
M neues Objekt speichern, nicht Referenz Allgemeine Java-Themen 10
B synchronisierter zugriff auf Objekt Allgemeine Java-Themen 6
F Objekt einer Datei verschieben, aber Verzeichnispfad fehlt Allgemeine Java-Themen 6
C Objekt Typ herausfinden Allgemeine Java-Themen 5
E Objekt beim Erzeugen in ArrayList Allgemeine Java-Themen 9
M Objekt prüfen auf null ->Invocation Target Exception??? Allgemeine Java-Themen 2
M Objekt aus Liste in Liste suchen/löschen Allgemeine Java-Themen 6
D Eigenen Objekt Pool Allgemeine Java-Themen 15
C blueJ: Objekt wird nicht in Objektleiste angezeigt Allgemeine Java-Themen 8

Ähnliche Java Themen


Oben