Thread.currentThread()
ist eine statische Methode, die einen Verweis auf aktuell ausgeführte Thread (im Grunde eine Referenz auf 'this' Thread) bietet.Wie funktioniert Thread.currentThread()?
Der Zugriff auf nicht statische Elemente (insbesondere this
) in einer statischen Methode ist in Java nicht möglich, daher ist currentThread()
eine native Methode.
Wie funktioniert die Methode currentThread()
hinter den Kulissen?
Sie können den OpenJDK-Code betrachten, der diese Methode implementiert. Bei einer Schätzung würde ich sagen, es fragt das Betriebssystem, auf dem es sich befindet, und ordnet dann diese Thread-ID einem Thread-Objekt zu. –
Ich weiß nichts über 'currentThread'-Implementierungsdetails, aber Sie können' ThreadLocal' verwenden, wenn Sie dieselbe allgemeine Mechanik in Ihrem eigenen Code verwenden möchten. – duckstep
Sehr gute Frage. Insbesondere ist das von _currentThread() _ zurückgegebene Objekt immer dasselbe wie das zum Starten des ** -Threads ** verwendete 'Thread'-Objekt? Kann es zwei 'Thread'-Objekte für den gleichen ** Thread ** erstellen? Kann eine native Funktion einen ** Thread ** erstellen und Java-Code aufrufen? Welches 'Thread'-Objekt wird für diesen ** Thread ** zurückgegeben? – 18446744073709551615