Wie funktioniert Thread.currentThread ()?

8

Thread.currentThread() ist eine statische -Methode, die einen Verweis auf aktuell ausgeführte Threads liefert (im Grunde ein Verweis auf 'diesen' Thread).

Der Zugriff auf nicht statische Member (insbesondere this ) innerhalb einer statischen Methode ist in Java nicht möglich, daher ist currentThread() eine native Methode.

Wie funktioniert die Methode currentThread() hinter den Kulissen?

    
maximus335 15.02.2015, 15:16
quelle

1 Antwort

5
%Vor%

Falsch. Hier sind keine this Referenzen enthalten.

Sie vermischen einen -Thread als native Ressource, dh den Thread der Ausführung ; und Thread , was eine Java-Klasse ist. Thread-Code läuft nicht "innerhalb" der Thread -Instanz, diese Instanz ist nur Ihr Handle in das Java-Thread-Steuerelement. Ähnlich wie eine File instance ist keine Datei .

Thread.currentThread() ist also eine Möglichkeit für Sie, die Instanz von Thread aufzurufen, die für den Ausführungs-Thread verantwortlich ist, in dem die Methode aufgerufen wird. Wie genau Java das ist, ist ein Implementierungsdetail, das Sie nicht interessieren sollte, es sei denn, Sie untersuchen die Details einer bestimmten JVM-Implementierung.

    
Marko Topolnik 15.02.2015 15:27
quelle

Tags und Links