Rumah  >  Artikel  >  Java  >  Apakah perbezaan antara mula dan jalankan dalam benang java

Apakah perbezaan antara mula dan jalankan dalam benang java

WBOY
WBOYke hadapan
2023-04-20 12:37:181728semak imbas

Ujian1 kelas awam memanjangkan Thread {

@Override public void run() {

while (true)

{

System.out. println(Thread.currentThread().getName());

}

}

public static void main(String[] args) {

Test1 test1=new Test1();

test1.run(); //Output result main

test1.start(); //Output result Thread-0

}

}

1.mula

permulaan ialah memulakan urutan baharu.

Apabila thread dimulakan dengan start(), thread memasuki keadaan sedia, menjadikan pemproses maya diwakili oleh thread dalam keadaan runnable, yang bermaksud ia boleh dijadualkan dan dilaksanakan oleh JVM. Tetapi ini tidak bermakna bahawa benang akan berjalan serta-merta. Hanya apabila CPU memperuntukkan kepingan masa dan benang ini memperoleh kepingan masa, adakah ia mula melaksanakan kaedah run(). start() tidak boleh dipanggil berulang kali, ia memanggil kaedah run() Kaedah run() ialah apa yang anda mesti mengatasi

2.run

run() Sama seperti kaedah ahli biasa, mereka boleh dipanggil berulang kali.

Jika anda memanggil kaedah run terus, urutan baharu tidak akan dimulakan! Masih terdapat hanya satu utas dalam program, utas utama, dan masih terdapat hanya satu laluan pelaksanaan program Ia masih perlu dilaksanakan secara berurutan, dan ia masih perlu menunggu badan kaedah larian dilaksanakan sebelum meneruskan pelaksanaan. kod berikut. Dengan cara ini, tujuan multi-threading tidak tercapai.

Panggil kaedah mula untuk memulakan utas, dan kaedah larian hanyalah panggilan kaedah biasa bagi utas, yang masih dilaksanakan dalam utas utama.

Atas ialah kandungan terperinci Apakah perbezaan antara mula dan jalankan dalam benang java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam