Kata pengantar
Multithreading adalah sesuatu yang sering kita temui selama proses pengembangan dan juga penguasaan yang sangat diperlukan dan perlu. Ketika kita tahu bahwa kita perlu melakukan pengembangan multi-threading, hal pertama yang perlu kita ketahui adalah secara alami bagaimana menerapkan multi-threading, yaitu, bagaimana kita harus membuat utas.
Membuat utas di Java sama dengan membuat operasi objek untuk kelas biasa. Kami dapat membuat utas dengan dua cara:
1. Mewarahkan kelas utas dan mengesampingkan metode run ().
2. Menerapkan antarmuka Runnable dan mengimplementasikan metode run ().
Metode 1: mewarisi kelas utas
Kodenya sangat sederhana
Pertama -tama membebani konstruktor sehingga kami dapat memberi nama utas.
Tulis ulang metode run ().
Di sini pertama -tama kita membiarkan utas mengeluarkan nama utas + mulai.
Kemudian output nama utas + nomor tambahan setiap 5ms.
/*** Dibuat oleh Holten.gao pada 2016/10/17. */kelas publik ThreadThread memperluas thread {public threadthread (nama string) {super (name); } @Override public void run () {System.out.println (this.getName ()+"Start!"); untuk (int i = 0; i <10; i ++) {System.out.println (this.getName ()+""+i); coba {thread.sleep (5); } catch (InterruptedException e) {E.PrintStackTrace (); }}}}Metode 2: Menerapkan antarmuka Runnable
Kode ini juga sangat sederhana
Menerapkan metode run ().
Di sini pertama -tama kita membiarkan utas mengeluarkan nama utas + mulai.
Kemudian output nama utas + nomor tambahan setiap 5ms.
/*** Dibuat oleh Holten.gao pada 2016/10/17. */kelas publik runnableThread mengimplementasikan runnable {@Override public void run () {System.out.println (thread.currentThread (). getName ()+"start!"); untuk (int i = 0; i <10; i ++) {System.out.println (thread.currentThread (). getName ()+""+i); coba {thread.sleep (5); } catch (InterruptedException e) {E.PrintStackTrace (); }}}}Hasil tes
Kode uji
/*** Dibuat oleh Holten.gao pada 2016/10/17. */kelas publik Main {public static void main (string [] args) {thread threadThread = new threadThread ("threadThread"); threadthread.start (); Thread runnableThread = utas baru (runnableThread baru (), "runnableThread"); runnableThread.start (); }}Hasil tes
threadThread start!threadThreadThread 0runnableThread start!runnableThread 0threadThread 1runnableThread 1threadThread 2runnableThread 2threadThread 3runnableThread 3threadThread 4runnableThread 4threadThread 5runnableThread 5threadThread 6runnableThread 6threadThread 7runnableThread 7Threadthread 8runnableTread 9
Perbandingan kedua metode tersebut
1. Karena Java hanya mendukung warisan tunggal, menggunakan metode seseorang tidak dapat mewarisi kelas lain; saat menerapkan antarmuka dalam metode dua tidak akan mempengaruhi pewarisan kelas lain.
2. Metode 1: Karena mewarisi utas, Anda dapat mulai dengan yang baru; Sementara Metode 2: Anda perlu meneruskan objek sebagai parameter ke dalam objek utas untuk mendapatkan objek utas.
3. Dalam Metode Satu, Anda dapat secara langsung mendapatkan nama utas melalui this.getName; Sementara dalam metode dua, Anda perlu mendapatkan thread.currentThread (). getName ().
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.