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ł.