Rumah  >  Artikel  >  Java  >  Apakah perbezaan antara java start() dan run()

Apakah perbezaan antara java start() dan run()

WBOY
WBOYke hadapan
2023-04-25 08:43:062151semak imbas

1. Perbezaan konsep

start(): Selepas menghasilkan objek thread, panggil kaedah start() untuk memulakan thread dalam keadaan Ready nyatakan RUNNABLE Pada masa ini Benang menunggu untuk dijadualkan oleh CPU, dan kemudian melaksanakan kaedah run() selepas penjadualan, dan menggunakan kaedah start() untuk memulakan benang, benar-benar merealisasikan multi-threading.

run(): Kaedah run() ialah kaedah biasa dalam Thread Jika anda memanggil kaedah run() secara langsung dengan objek thread, ia akan dijalankan dalam thread utama. Kerana hanya terdapat satu utas utama dalam atur cara, apabila terdapat dua utas dalam atur cara, kaedah run() dipanggil terus, dan atur cara dilaksanakan mengikut turutan, dan multi-threading tidak dilaksanakan.

2. Contoh

public static void main(String[] args) {
    Thread t1 = new Thread(new Runnable() {
        @Override
        public void run() {
            System.out.println(Thread.currentThread().getName());
        }
    },"unstoppbale_t");
    t1.start();
}

Atas ialah kandungan terperinci Apakah perbezaan antara java start() dan run(). 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