t.start() to metoda zapewniana przez bibliotekę do wywoływania kodu, gdy potrzebny jest nowy wątek.
r.run()Jest to metoda, która Ci przewidywać, że biblioteka zadzwonić w nowym wątku.
Większość z tych odpowiedzi nie ma szerszego obrazu, co oznacza, że jeśli chodzi o język Java, nie ma większej różnicy między żadnymi innymi metodami t.start()i r.run()pomiędzy nimi.
Obie są tylko metodami. Oba działają w wątku, który je wywołał . Obaj robią wszystko, do czego zostali zakodowani, a potem obaj wracają, wciąż w tym samym wątku, do swoich rozmówców.
Największą różnicą jest to, że większość kodu za t.start()to natywny kod, podczas gdy w większości przypadków kod r.run()będzie czysta Java. Ale to nie jest duża różnica. Kod to kod. Natywny kod jest trudniejszy do znalezienia i trudniejszy do zrozumienia, kiedy go znajdziesz, ale nadal jest to tylko kod, który mówi komputerowi, co ma robić.
Co więc robi t.start()?
Tworzy nowy natywny wątek, organizuje wywołanie tego wątku t.run(), a następnie informuje system operacyjny, aby zezwolił na uruchomienie nowego wątku. Potem wraca.
I co r.run()zrobić?
Zabawne jest to, że osoba zadająca to pytanie to osoba, która je napisała . r.run()robi wszystko , co Ty (tj. programista, który to napisał) zaprojektował.