Program dalam Eksekusi dikenal sebagai proses. Proses dapat dibagi menjadi beberapa subproses. Misalnya, Microsoft Word adalah sebuah proses. Pada saat yang sama, itu memeriksa kesalahan ejaan dan tata bahasa. Itu adalah subproses. Subproses ini dikenal sebagai utas. Multithreading adalah proses mengeksekusi beberapa utas secara bersamaan. Aplikasi berulir dapat dibangun menggunakan bahasa pemrograman yang berbeda. Runnable dan utas dikaitkan dengan pemrograman java. Ada dua metode di Java untuk membuat utas dengan mengimplementasikan antarmuka yang dapat dijalankan atau memperluas kelas utas. Saat menerapkan Runnable, banyak utas dapat berbagi objek utas yang sama saat dalam memperpanjang kelas utas, setiap utas memiliki objek unik yang terkait dengannya. Itu adalah perbedaan utama Antara Runnable dan Thread.
1. Ikhtisar dan Perbedaan Utama
2. Apa yang dapat dijalankan
3. Apa utas itu
4. Kesamaan antara runnable dan thread
5. Perbandingan berdampingan - runnable vs thread dalam bentuk tabel
6. Ringkasan
Sebuah utas melewati beberapa negara bagian. "Baru" adalah awal dari siklus hidup utas. Setelah metode start () memanggil utas baru, itu menjadi runnable. Jika penjadwal utas memilih utas, itu transit ke keadaan berjalan. Utas sedang menunggu status jika utas itu menunggu utas lain untuk melakukan tugas. Setelah utas menyelesaikan pekerjaan, itu masuk ke keadaan terminasi.
Utas dapat diimplementasikan menggunakan antarmuka runnable. Rujuk program di bawah ini.
Gambar 01: Program Java untuk membuat utas menggunakan antarmuka runnable
Menurut program di atas, demo kelas runnable mengimplementasikan antarmuka yang dapat dijalankan. Metode run () ada di dalam kelas yang mengimplementasikan antarmuka runnable. Itu adalah titik masuk untuk utas. Logikanya ada di metode run (). Dalam program utama, utas dibuat dengan mendefinisikan objek yang instantiated dari kelas demo runnable. Itu t1. Metode start () dipanggil menggunakan T1.
Rujuk program di bawah ini.
Gambar 02: Program Java untuk membuat utas untuk menjalankan loop, dengan mengimplementasikan antarmuka runnable
Menurut contoh di atas, Demo Runnable kelas mengimplementasikan antarmuka runnable. Logika untuk dieksekusi menggunakan utas ditulis dalam metode run (). Dalam program utama, utas dibuat dengan mendefinisikan objek yang instantiated dari kelas demo runnable. Itu t1. Kemudian, metode start () dipanggil menggunakan T1.
Metode lain untuk membuat utas adalah dengan memperluas kelas utas. Itu terdiri dari tiga langkah. Pertama adalah mendeklarasikan kelas sebagai memperluas kelas utas. Setelah itu, metode run () harus ditulis. Ini memiliki urutan langkah -langkah yang harus dijalankan oleh utas. Akhirnya, objek utas dibuat, dan metode start () dipanggil untuk memulai eksekusi utas. Rujuk program di bawah ini.
Gambar 03: Program Java yang Memperluas Kelas Thread
Menurut program di atas, kelas mythread memperluas kelas utas. Itu menimpa metode run. Metode run () berisi logika yang akan dieksekusi oleh utas. Itu adalah titik masuk ke utas. Maka objek utas dibuat. Itu adalah thread1. Utas mulai menggunakan metode start (). Itu akan menjalankan metode panggilan untuk menjalankan ().
Contoh program dua kelas yang memperluas kelas utas adalah sebagai berikut.
Gambar 04: Program Java dengan dua kelas yang memperluas kelas utas
Menurut program di atas, Kelas A dan B sedang memperpanjang kelas utas. Kedua kelas memiliki implementasi metode run (). Utas utama adalah yang mengeksekusi metode utama (). Sebelum utas utama mati, itu membuat dan memulai thread1 dan thread2. Pada saat utas utama mencapai akhir dari 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 berlari secara mandiri.
Runnable vs Thread | |
Runnable adalah antarmuka di java untuk membuat utas yang memungkinkan banyak utas untuk berbagi objek utas yang sama. | Utasnya 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 utas, setiap utas membuat objek yang unik, oleh karena itu membutuhkan lebih banyak memori. |
Kemampuan memperluas | |
Setelah menerapkan antarmuka runnable, itu dapat memperpanjang kelas. | Warisan berganda tidak didukung di Java. Setelah memperpanjang kelas utas, itu tidak dapat memperpanjang kelas lain. |
Code Maintability | |
Antarmuka runnable membuat kode lebih bisa dipertahankan. | Di kelas utas, mempertahankan waktu yang memakan waktu. |
Suatu proses dibagi menjadi beberapa sub-proses untuk melakukan banyak tugas secara bersamaan. Subproses ini dikenal sebagai utas. Instantiasi utas dapat dilakukan dengan mengimplementasikan antarmuka runnable atau dengan memperluas kelas utas. Mudah untuk memperluas kelas utas, tetapi bukan praktik pemrograman yang lebih berorientasi objek yang lebih baik. Saat menerapkan Runnable, banyak utas dapat berbagi objek utas yang sama saat dalam memperluas kelas utas setiap utas memiliki objek unik yang terkait dengannya. Itulah perbedaan antara runnable dan thread. Di kelas utas pembuatan beberapa objek dapat mengkonsumsi lebih banyak memori.
Anda dapat mengunduh versi PDF artikel ini dan menggunakannya untuk tujuan offline sesuai catatan kutipan. Silakan unduh versi pdf di sini perbedaan antara runnable dan thread
1.TutorialSpoint.com. “Java Multithreading.Poinnya, tersedia di sini
2.Pramodbablad. “Perluas Thread vs Implement Runnable di Java.Konsep Java hari ini, 11 Nov. 2016. Tersedia disini
3.Cara untuk membuat utas di java multithreading | Tutorial Core Java | Studytonight. Tersedia disini