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 № 1Ich 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.