/ / currentThread () ist immer der currentThread ()? [in der Warteschleife] - Java, Multithreading

currentThread () ist immer das currentThread ()? [gehalten] - Java, Multithreading

In Java Thread, die Methode currentThread() Gibt die Speicherreferenz des "aktuell ausgeführten Threads" zurück. "Derzeit wird ein Thread ausgeführt" ist hier der Thread, der dies aufgerufen hat currentThread().

Ich frage mich, ob dies ein Ausnahmefall ist, d.h. ob currentThread() Gibt einen anderen Thread als den aufgerufenen zurück.

ZB: Angenommen, in der main Methode, ich rufe auf Thread.currentThread().toString() um es zu sehen - und es gibt das zurück toString() Darstellung der main Faden.

Die Frage ist, kann es einen Fall geben, dass ein anderer Thread zurückgegeben wird, der im Speicher ausgeführt wird?

Mir fällt keiner ein. currentThread() hier wird ausgeführt main thread - Wenn es also aktiv ist, ist es der Haupt-Thread-Bereich, auf dem es ausgeführt wird. Ich sehe nicht, wie es sonst sein könnte, wenn es nicht ein paar Ausrutscher gibt.

currentThread() is native-- kann "diese im Code sehen.

Antworten:

6 für die Antwort № 1

Ich frage mich, ob dies ein Ausnahmefall ist, d. H. Ob currentThread() Gibt einen anderen Thread als den aufgerufenen zurück.

Nein, es gibt keinen solchen Fall.


1 für die Antwort № 2

can there be a case that it returns some other thread that is running in memory

Thread.currentThread()-

Gibt immer einen Verweis auf das aktuell ausgeführte Thread-Objekt zurück, und es gibt keine Ausnahme.


-1 für die Antwort № 3

ZB: Angenommen, ich rufe in der Hauptmethode auf Thread.currentThread (). ToString (), um es zu sehen - und es gibt das zurück toString () Darstellung des Hauptthreads.

Das Q ist, kann es einen Fall geben, dass es einen anderen Thread zurückgibt, der läuft im Speicher?

Es könnte sein, wenn ein anderer Thread main () aufruft. Ich habe es nie versucht, aber ich verstehe nicht, warum es nicht möglich sein sollte.