t.start()
ist die Methode, die die Bibliothek bereitstellt, damit Ihr Code aufgerufen werden kann, wenn Sie einen neuen Thread möchten.
r.run()
ist das Verfahren , dass Sie für die bieten Bibliothek ruft in dem neuen Thread.
Die meisten dieser Antworten verfehlen das Gesamtbild, dh, was die Java-Sprache betrifft, gibt es keinen größeren Unterschied zwischen t.start()
und r.run()
als zwischen zwei anderen Methoden.
Sie sind beide nur Methoden. Sie laufen beide in dem Thread, der sie aufgerufen hat . Beide tun, wofür sie codiert wurden, und kehren dann beide, immer noch im selben Thread, zu ihren Anrufern zurück.
Der größte Unterschied ist , dass die meisten den Code für t.start()
ist nativen Code , während in den meisten Fällen, für den Code r.run()
reinen Java sein wird. Aber das ist kein großer Unterschied. Code ist Code. Nativer Code ist schwerer zu finden und schwerer zu verstehen, wenn Sie ihn finden, aber es ist immer noch nur Code, der dem Computer sagt, was zu tun ist.
Also, was macht t.start()
das?
Es erstellt einen neuen nativen Thread, veranlasst den Aufruf dieses Threads t.run()
und weist das Betriebssystem an, den neuen Thread ausführen zu lassen. Dann kehrt es zurück.
Und was macht r.run()
das?
Das Lustige ist, dass die Person, die diese Frage stellt, die Person ist, die sie geschrieben hat . r.run()
macht alles , wofür Sie (dh der Entwickler, der es geschrieben hat) es entworfen haben.