Apa perbedaan antara metode implementasi dan metode warisan?
*Perbedaannya:
*Thread yang diwariskan: Kode utas disimpan dalam metode run dari subkelas utas
*Menerapkan RUNNABLE: Kode utas disimpan dalam metode run dari subkelas antarmuka
* Manfaat Implementasi: Hindari Keterbatasan Warisan Tunggal
* Saat mendefinisikan utas, disarankan untuk menggunakan metode implementasi. Tentu saja, jika suatu kelas tidak mewarisi kelas induk, maka multi-threading juga dapat diimplementasikan dengan mewarisi kelas utas.
*Catatan: Antarmuka yang dapat dilalui tidak melempar pengecualian, jadi kelas yang mengimplementasikannya hanya bisa mencoba-cat dan tidak bisa melempar
*Java memberikan solusi profesional untuk masalah keamanan multithreading, yaitu untuk menyinkronkan blok kode yang disinkronkan (objek) {kode yang perlu disinkronkan}
*Tindakan pencegahan untuk sinkronisasi:
*1. Ada 2 atau lebih utas
*2. Beberapa utas menggunakan satu kunci (objek)
* Manfaat Sinkronisasi: Selesaikan masalah keamanan multi-utas
* Kekurangan Sinkronisasi: Beberapa utas perlu menilai kunci, yang mengkonsumsi lebih banyak sumber daya
paket multithreading; Kelas Tiket mengimplementasikan runnable {// private static int tick = 100; private int tick = 100; objek obj = objek baru (); // Buat gambar atau tulis ulang kelas sendiri untuk membuat objek. Berikut ini menyinkronkan kata kunci yang perlu digunakan @Overridepublic void run () {while (true) {disinkronkan (obj) // disinkronkan (this) {if (centang> 0) {coba {thread.sleep (10);} catch (pengecualian e) {} system.out.printlnerln (leadur (10);} catch (pengecualian e) {} System.out.println (10);} netread (excepte e) {} System.out.println (lacan (10);} exception. "+(centang-)+" title "); // centang-;} else {break;}}}}} tes kelas publik {public static void main (string [] args) {ticket t = new ticket (); // buat kelas yang mengimplementasikan netase newasor (TREAreT TREADS; Thread (t); // Buat utas utas t3 = utas baru (t); // Buat utas utas t4 = utas baru (t); // Buat utas // Buka utas t1.start (); t2.start (); t3.start (); t4.start ();}}Di atas adalah konten lengkap dari dua cara untuk mengimplementasikan Java multi-threading untuk mewarisi kelas utas dan metode untuk mengimplementasikan antarmuka yang dapat dijalankan. Saya harap ini akan membantu semua orang dan lebih mendukung wulin.com ~