Perbedaan Kunci – Runnable vs Thread
Program yang sedang dieksekusi dikenal sebagai proses. Proses 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 mengeksekusi beberapa thread secara bersamaan. Aplikasi berulir dapat dibangun menggunakan bahasa pemrograman yang berbeda. Runnable dan Thread diasosiasikan dengan pemrograman Java. Ada dua metode di Java untuk membuat thread dengan mengimplementasikan antarmuka Runnable atau memperluas kelas Thread. Saat menerapkan Runnable, banyak utas dapat berbagi objek utas yang sama sementara di kelas Memperluas Thread, setiap utas memiliki objek unik yang terkait dengannya. Itulah perbedaan utama antara Runnable dan Thread.
Apa itu Runnable?
Sebuah utas melewati beberapa status. "Baru" adalah awal dari siklus hidup thread. Setelah metode start() memanggil utas baru, itu menjadi dapat dijalankan. Jika penjadwal utas memilih utas, itu transit ke status berjalan. Utas sedang menunggu status jika utas itu menunggu utas lain untuk melakukan tugas. Setelah utas menyelesaikan pekerjaan, ia beralih 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, Demo Runnable kelas mengimplementasikan antarmuka Runnable. Metode run() ada di dalam kelas yang mengimplementasikan antarmuka Runnable. Ini adalah titik masuk untuk utas. Logikanya ada di metode run(). Dalam program utama, sebuah thread dibuat dengan mendefinisikan sebuah objek yang diinstansiasi 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 mengeksekusi loop, dengan mengimplementasikan antarmuka Runnable
Menurut contoh di atas, kelas Runnable Demo mengimplementasikan antarmuka Runnable. Logika untuk mengeksekusi menggunakan utas ditulis dalam metode run(). Dalam program utama, sebuah thread dibuat dengan mendefinisikan sebuah objek yang diinstansiasi dari kelas Demo Runnable. Ini adalah t1. Kemudian, metode start() dipanggil menggunakan t1.
Apa itu Benang?
Metode lain untuk membuat utas adalah dengan memperluas kelas Utas. Ini terdiri dari tiga langkah. Pertama adalah mendeklarasikan kelas sebagai perluasan kelas Thread. Setelah itu, metode run() harus ditulis. Ini memiliki urutan langkah yang harus dijalankan oleh 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 menimpa metode run. Metode run() berisi logika yang akan dieksekusi oleh utas. Ini adalah titik masuk ke utas. Kemudian objek utas dibuat. Ini adalah utas1. Utas dimulai menggunakan metode start(). Ini akan mengeksekusi panggilan ke metode run().
Contoh program dua kelas yang memperluas kelas Thread adalah sebagai berikut.
Gambar 04: Program Java dengan dua kelas yang memperpanjang kelas Thread
Sesuai dengan program di atas, baik kelas A dan B memperluas kelas Thread. Kedua kelas memiliki implementasi metode run(). Utas utama adalah yang mengeksekusi metode main(). Sebelum utas utama mati, itu membuat dan memulai utas1 dan utas2. Pada saat utas utama mencapai akhir metode utama, tiga utas berjalan secara paralel. Tidak ada urutan khusus di mana utas memberikan output. Setelah utas dimulai, sulit untuk memutuskan urutan yang akan mereka jalankan. Mereka berjalan secara mandiri.
Apa Persamaan Antara Runnable dan Thread?
Keduanya digunakan untuk membuat thread di Java
Apa Perbedaan Antara Runnable dan Thread?
Dapat dijalankan vs Utas |
|
Runnable adalah antarmuka di Java untuk membuat utas yang memungkinkan banyak utas untuk berbagi objek utas yang sama. | Thread adalah kelas di Java untuk membuat thread di mana setiap thread memiliki objek unik yang terkait dengannya. |
Memori | |
Dalam Runnable, beberapa utas berbagi objek yang sama, jadi membutuhkan lebih sedikit memori. | Di kelas Thread, setiap thread membuat objek unik, oleh karena itu membutuhkan lebih banyak memori. |
Memperluas Kemampuan | |
Setelah mengimplementasikan antarmuka Runnable, ia dapat memperluas kelas. | Pewarisan ganda tidak didukung di Java. Setelah memperluas kelas Thread, itu tidak dapat memperluas kelas lain. |
Pemeliharaan Kode | |
Antarmuka yang dapat dijalankan membuat kode lebih mudah dikelola. | Di kelas Thread, pemeliharaan memakan waktu. |
Ringkasan – Runnable vs Thread
Sebuah proses dibagi menjadi beberapa sub-proses untuk melakukan banyak tugas pada waktu yang sama. 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 bukan praktik Pemrograman Berorientasi Objek yang lebih baik. Saat menerapkan 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 menghabiskan lebih banyak memori.
Unduh PDF Runnable vs Thread
Anda dapat mengunduh versi PDF dari artikel ini dan menggunakannya untuk tujuan offline sesuai catatan kutipan. Silakan unduh versi PDF di sini Perbedaan Antara Runnable dan Thread