Perbedaan Antara Runnable dan Thread

Perbedaan Utama - Runnable vs Thread
 

Suatu program dalam eksekusi dikenal sebagai suatu proses. Prosesnya dapat dibagi menjadi beberapa subproses. Sebagai contoh, Microsoft Word adalah suatu proses. Pada saat yang sama, ia memeriksa kesalahan ejaan dan tata bahasa. Itu adalah subproses. Subproses ini dikenal sebagai utas. Multithreading adalah proses mengeksekusi banyak utas secara bersamaan. Aplikasi berulir dapat dibangun menggunakan berbagai bahasa pemrograman. Runnable dan Thread dikaitkan dengan pemrograman Java. Ada dua metode di Jawa untuk membuat utas dengan mengimplementasikan antarmuka Runnable atau memperluas kelas Utas. Saat menerapkan Runnable, banyak utas dapat berbagi objek utas yang sama saat dalam kelas Memperluas Utas, setiap utas memiliki objek unik yang dikaitkan dengannya. Itu adalah perbedaan utama antara Runnable dan Thread.

ISI

1. Ikhtisar dan Perbedaan Utama
2. Apa itu Runnable
3. Apakah Thread itu?
4. Kesamaan Antara Runnable dan Thread
5. Perbandingan Berdampingan - Runnable vs Thread dalam Bentuk Tabular
6. Ringkasan

Apa itu Runnable?

Utas melewati beberapa negara. "Baru" adalah awal dari siklus hidup utas. Setelah metode start () memanggil thread baru, itu menjadi runnable. Jika penjadwal utas memilih utas, ia mentransit ke status yang sedang berjalan. Utas sedang menunggu status jika utas itu sedang menunggu utas lainnya untuk melakukan tugas. Setelah utas menyelesaikan pekerjaan, ia beralih ke status penghentian.

Utas dapat diimplementasikan menggunakan antarmuka Runnable. Lihat program di bawah ini.

Gambar 01: Program Java untuk membuat utas 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 untuk utas. Logikanya dalam metode run (). Di program utama, utas dibuat dengan mendefinisikan objek yang dipakai dari kelas Demo Runnable. Itu t1. Metode start () disebut menggunakan t1.

Lihat program di bawah ini.

Gambar 02: Program Java untuk membuat utas untuk menjalankan loop, dengan mengimplementasikan antarmuka Runnable

Menurut contoh di atas, kelas Runnable Demo mengimplementasikan antarmuka Runnable. Logika untuk mengeksekusi menggunakan utas ditulis dalam metode run (). Di program utama, utas dibuat dengan mendefinisikan objek yang dipakai dari kelas Demo Runnable. Itu t1. Kemudian, metode start () dipanggil menggunakan t1.

Apa itu Thread??

Metode lain untuk membuat utas adalah dengan memperluas kelas Utas. Ini terdiri dari tiga langkah. Pertama adalah mendeklarasikan kelas sebagai memperluas kelas Thread. Setelah itu, metode run () harus ditulis. Ini memiliki urutan langkah-langkah yang harus dijalankan thread. Terakhir, 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. Itu menimpa metode menjalankan. Metode run () berisi logika yang akan dieksekusi oleh utas. Ini adalah titik masuk ke utas. Kemudian objek utas dibuat. Itu adalah thread1. Thread mulai menggunakan metode start (). Ini akan menjalankan metode panggilan untuk menjalankan ().

Contoh program dua kelas memperluas kelas Thread adalah sebagai berikut.

Gambar 04: Program Java dengan dua kelas yang memperluas kelas Thread

Menurut program di atas, kedua kelas A dan B memperluas kelas Thread. Kedua kelas memiliki implementasi metode run (). Utas utama adalah yang menjalankan metode main (). Sebelum utas utama mati, ia membuat dan memulai utas1 dan utas2. Pada saat utas utama mencapai akhir metode utama, tiga utas berjalan paralel. Tidak ada urutan khusus di mana utas memberi keluaran. Setelah utas dimulai, sulit untuk menentukan urutan yang akan mereka lakukan. Mereka berjalan mandiri.

Apa Persamaan Antara Runnable dan Thread?

  • Keduanya menggunakan untuk membuat utas di Jawa.

Apa Perbedaan Antara Runnable dan Thread?

Runnable vs Thread

Runnable adalah antarmuka di Jawa untuk membuat utas yang memungkinkan banyak utas untuk berbagi objek utas yang sama. Thread adalah kelas di Jawa 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 Utas, setiap utas membuat objek unik, karenanya membutuhkan lebih banyak memori.
Memperluas Kemampuan
Setelah mengimplementasikan antarmuka Runnable, ia dapat memperluas kelas. Berbagai warisan tidak didukung di Jawa. Setelah memperluas kelas Thread, itu tidak dapat memperluas kelas lain.
 Kode Maintabilitas
Antarmuka runnable membuat kode lebih mudah dikelola. Di kelas Thread, pemeliharaan itu menghabiskan waktu.

Ringkasan - Runnable vs Thread 

Suatu proses dibagi menjadi beberapa sub-proses untuk melakukan banyak tugas pada saat yang bersamaan. Subproses ini dikenal sebagai utas. Instantiating thread dapat dilakukan dengan mengimplementasikan antarmuka Runnable atau dengan memperluas Kelas Thread. 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 Utas masing-masing utas memiliki objek unik yang terkait dengannya. Itulah perbedaan antara Runnable dan Thread. Di kelas Thread beberapa objek penciptaan dapat mengkonsumsi 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 Utas

Referensi:

1.tutorialspoint.com. "Java Multithreading." Intinya, Tersedia di sini 
2.Pramodbablad. "Memperluas Thread Vs Menerapkan Runnable Di Jawa." Java Concept Of The Day, 11 November 2016. Tersedia di sini
3. Cara membuat Thread di Java Multithreading | Tutorial Java Inti | Malam studi. Tersedia disini