t.start()
adalah metode yang disediakan perpustakaan untuk kode Anda untuk dipanggil saat Anda ingin utas baru.
r.run()
adalah metode yang Anda berikan untuk perpustakaan untuk memanggil di thread baru.
Sebagian besar jawaban ini melewatkan gambaran besar, yaitu, sejauh menyangkut bahasa Jawa, tidak ada lagi perbedaan di antara t.start()
dan di r.run()
antara kedua metode lainnya.
Keduanya hanya metode. Mereka berdua berlari di utas yang memanggil mereka . Mereka berdua melakukan apa pun yang harus mereka lakukan, dan kemudian mereka berdua kembali, masih di utas yang sama, ke penelepon mereka.
Perbedaan terbesar adalah bahwa sebagian besar kode untuk t.start()
adalah kode asli sementara, dalam banyak kasus, kode untuk r.run()
akan menjadi Java murni. Tapi itu tidak banyak perbedaan. Kode adalah kode. Kode asli lebih sulit ditemukan, dan lebih sulit untuk dipahami ketika Anda menemukannya, tetapi itu hanya kode yang memberi tahu komputer apa yang harus dilakukan.
Jadi, apa fungsinya t.start()
?
Ini menciptakan utas asli baru, mengatur agar utas untuk memanggil t.run()
, dan kemudian memberitahu OS untuk membiarkan utas baru berjalan. Lalu ia kembali.
Dan apa fungsinya r.run()
?
Lucunya, orang yang menanyakan pertanyaan ini adalah orang yang menulisnya . r.run()
melakukan apa pun yang Anda (yaitu, pengembang yang menulisnya) dirancang untuk melakukannya.