Perbedaan Kunci - Runnable vs Thread
Sebuah program yang sedang dieksekusi dikenal sebagai proses. Prosesnya dapat dibagi menjadi beberapa subproses. Misalnya, Microsoft Word adalah sebuah proses. Pada saat yang sama, ia memeriksa kesalahan ejaan dan tata bahasa. Itu adalah subproses. Subproses ini dikenal sebagai utas. Multithreading adalah proses menjalankan beberapa utas secara bersamaan. Aplikasi berulir dapat dibangun menggunakan bahasa pemrograman yang berbeda. Runnable dan Thread dikaitkan dengan pemrograman Java. Ada dua metode di Java untuk membuat thread dengan mengimplementasikan antarmuka Runnable atau memperluas kelas Thread. Saat mengimplementasikan Runnable, banyak utas dapat berbagi objek utas yang sama sementara di kelas Memperluas utas, setiap utas memiliki objek unik yang terkait dengannya. Itulah perbedaan utama antara Runnable dan Thread.
ISI
1. Gambaran Umum dan Perbedaan Utama
2. Apa itu Runnable
3. Apa itu Thread
4. Persamaan Antara Runnable dan Thread
5. Perbandingan Berdampingan - Runnable vs Thread dalam Bentuk Tabular
6. Ringkasan
Apa itu Runnable?
Sebuah utas melewati beberapa status. "Baru" adalah awal dari siklus hidup thread. Setelah metode start () memanggil utas baru, utas menjadi dapat dijalankan. Jika penjadwal utas memilih utas, itu transit ke status berjalan. Utas sedang menunggu status jika utas tersebut menunggu utas lain untuk melakukan tugas. Setelah utas menyelesaikan pekerjaan, utas masuk ke status terminasi.
Sebuah utas dapat diimplementasikan menggunakan antarmuka Runnable. Lihat program di bawah ini.
Gambar 01: Program Java untuk membuat thread menggunakan antarmuka Runnable
Menurut program di atas, kelas Runnable Demo mengimplementasikan antarmuka Runnable. Metode run () ada di dalam kelas yang mengimplementasikan antarmuka Runnable. Ini adalah titik masuk utas. Logikanya ada di metode run (). Dalam program utama, utas dibuat dengan menentukan objek yang dibuat dari kelas Demo Runnable. Ini adalah t1. Metode start () dipanggil menggunakan t1.
Lihat program di bawah ini.
Gambar 02: Program Java untuk membuat thread untuk menjalankan loop, dengan mengimplementasikan antarmuka Runnable
Berdasarkan contoh di atas, kelas Runnable Demo mengimplementasikan antarmuka Runnable. Logika untuk dieksekusi menggunakan utas ditulis dalam metode run (). Dalam program utama, utas dibuat dengan menentukan objek yang dibuat dari kelas Demo Runnable. Ini adalah t1. Kemudian, metode start () dipanggil menggunakan t1.
Apa itu Thread?
Metode lain untuk membuat utas adalah dengan memperluas kelas Thread. Ini terdiri dari tiga langkah. Pertama adalah mendeklarasikan kelas sebagai memperluas kelas Thread. Setelah itu, metode run () harus ditulis. Ini memiliki urutan langkah yang harus dijalankan utas. Akhirnya, objek utas dibuat, dan metode start () dipanggil untuk memulai eksekusi utas. Lihat program di bawah ini.
Gambar 03: Program Java yang memperluas kelas Thread
Menurut program di atas, kelas MyThread memperluas kelas Thread. Ini menggantikan metode run. Metode run () berisi logika yang akan dijalankan oleh utas. Ini adalah titik masuk ke utas. Kemudian objek utas dibuat. Ini adalah thread1. Utas dimulai menggunakan metode start (). Ini akan menjalankan metode panggilan ke run ().
Contoh program dari dua kelas yang memperluas kelas Thread adalah sebagai berikut.
Gambar 04: Program Java dengan dua kelas yang memperluas kelas Thread
Menurut program di atas, baik kelas A dan B adalah perluasan kelas Thread. Kedua kelas tersebut menerapkan metode run (). Utas utama adalah yang menjalankan metode main (). Sebelum utas utama mati, ini membuat dan memulai utas1 dan utas2. Pada saat utas utama mencapai akhir dari metode utama, tiga utas berjalan secara paralel. Tidak ada urutan khusus di mana utas memberikan keluaran. Setelah utas dimulai, sulit untuk memutuskan urutan yang akan mereka jalankan. Mereka berjalan mandiri.
Apa Persamaan Antara Runnable dan Thread?
Keduanya digunakan untuk membuat utas di Java
Apa Perbedaan Antara Runnable dan Thread?
Artikel Diff Tengah sebelum Tabel
Runnable vs Thread |
|
Runnable adalah antarmuka di Java untuk membuat utas yang memungkinkan banyak utas berbagi objek utas yang sama. | Utas adalah kelas di Java untuk membuat utas di mana setiap utas memiliki objek unik yang terkait dengannya. |
Penyimpanan | |
Di Runnable, beberapa utas berbagi objek yang sama, jadi membutuhkan lebih sedikit memori. | Di kelas Thread, setiap utas membuat objek unik, oleh karena itu membutuhkan lebih banyak memori. |
Memperluas Kemampuan | |
Setelah mengimplementasikan antarmuka Runnable, itu bisa memperluas kelas. | Beberapa warisan tidak didukung di Java. Setelah memperluas kelas Thread, ia tidak dapat memperluas kelas lainnya. |
Pemeliharaan Kode | |
Antarmuka yang dapat dijalankan membuat kode lebih dapat dipelihara. | Di kelas Thread, pemeliharaan memakan waktu. |
Ringkasan - Runnable vs Thread
Sebuah proses dibagi menjadi beberapa sub-proses untuk melakukan banyak tugas pada waktu yang bersamaan. Subproses ini dikenal sebagai utas. Membuat instance thread dapat dilakukan dengan mengimplementasikan antarmuka Runnable atau dengan memperluas Kelas Thread. Sangat mudah untuk memperluas kelas Thread, tetapi ini bukanlah praktik Pemrograman Berorientasi Objek yang lebih baik. Saat mengimplementasikan Runnable, banyak utas dapat berbagi objek utas yang sama sementara dalam memperluas kelas Thread, setiap utas memiliki objek unik yang terkait dengannya. Itulah perbedaan antara Runnable dan Thread. Di kelas Thread, beberapa pembuatan objek dapat menggunakan lebih banyak memori.
Unduh PDF Runnable vs Thread
Anda dapat mengunduh versi PDF dari artikel ini dan menggunakannya untuk tujuan offline sesuai catatan kutipan. Silahkan download versi PDF disini Perbedaan Antara Runnable dan Thread