Perbezaan antara runnable dan benang

Perbezaan antara runnable dan benang

Perbezaan utama - Runnable vs benang
 

Program dalam pelaksanaan dikenali sebagai proses. Proses ini boleh dibahagikan kepada pelbagai subprocesses. Contohnya, Microsoft Word adalah proses. Pada masa yang sama, ia memeriksa kesilapan ejaan dan tatabahasa. Itu adalah subprocess. Subprocesses ini dikenali sebagai benang. Multithreading adalah proses melaksanakan pelbagai utas secara serentak. Aplikasi berulir boleh dibina menggunakan bahasa pengaturcaraan yang berbeza. Runnable dan Thread dikaitkan dengan pengaturcaraan Java. Terdapat dua kaedah di Java untuk membuat benang dengan melaksanakan antara muka yang boleh dilancarkan atau memperluaskan kelas benang. Semasa melaksanakan runnable, banyak benang dapat berkongsi objek benang yang sama semasa dalam melanjutkan kelas thread, setiap benang mempunyai objek unik yang berkaitan dengannya. Itulah Perbezaan utama antara runnable dan benang.

Kandungan

1. Gambaran Keseluruhan dan Perbezaan Utama
2. Apa yang boleh dijalankan
3. Apa itu benang
4. Persamaan antara runnable dan benang
5. Perbandingan sampingan - Runnable vs thread dalam bentuk jadual
6. Ringkasan

Apa yang boleh dijalankan?

Benang berjalan melalui beberapa negeri. "Baru" adalah permulaan kitaran hayat benang. Selepas permulaan () kaedah menyeru benang baru, ia menjadi runnable. Sekiranya penjadual thread memilih benang, ia transit ke keadaan berjalan.  Benang sedang menunggu keadaan jika utas itu sedang menunggu utas lain untuk melaksanakan tugas. Setelah utas menyelesaikan kerja, ia pergi ke keadaan penamatan.

Benang boleh dilaksanakan menggunakan antara muka runnable. Rujuk program di bawah.

Rajah 01: Program Java untuk membuat thread menggunakan antara muka runnable

Menurut program di atas, Demo Runnable Kelas melaksanakan antara muka Runnable. Kaedah Run () berada di dalam kelas yang melaksanakan antara muka yang boleh dilaksanakan. Ia adalah titik masuk untuk utas. Logik dalam Kaedah Run (). Dalam program utama, benang dicipta dengan menentukan objek yang instantiated dari kelas demo runnable. Ia adalah T1. Kaedah permulaan () dipanggil menggunakan T1.

Rujuk program di bawah.

Rajah 02: Program Java untuk membuat benang untuk melaksanakan gelung, dengan melaksanakan antara muka yang boleh dijalankan

Menurut contoh di atas, Demo Runnable Kelas melaksanakan antara muka Runnable. Logik untuk dilaksanakan menggunakan benang ditulis dalam kaedah run (). Dalam program utama, benang dicipta dengan menentukan objek yang instantiated dari kelas demo runnable. Ia adalah T1. Kemudian, kaedah permulaan () dipanggil menggunakan T1.

Apa itu benang?

Kaedah lain untuk membuat benang adalah dengan memperluaskan kelas benang. Ia terdiri daripada tiga langkah. Pertama adalah untuk mengisytiharkan kelas sebagai memperluaskan kelas benang. Selepas itu, kaedah larian () harus ditulis. Ia mempunyai urutan langkah yang harus dilaksanakan oleh benang.  Akhirnya, objek benang dibuat, dan kaedah permulaan () dipanggil untuk memulakan pelaksanaan benang. Rujuk program di bawah.

Rajah 03: Program Java yang memanjangkan kelas benang

Menurut program di atas, kelas Mythread memanjangkan kelas Thread. Ia mengatasi kaedah larian. Kaedah run () mengandungi logik yang akan dilaksanakan oleh utas. Ia adalah titik masuk ke utas. Kemudian objek benang dibuat. Ia adalah thread1. Benang dimulakan menggunakan kaedah permulaan (). Ia akan melaksanakan panggilan untuk menjalankan () kaedah.

Contoh program dua kelas yang memanjangkan kelas benang adalah seperti berikut.

Rajah 04: Program Java dengan dua kelas yang melanjutkan kelas thread

Menurut program di atas, kedua -dua Kelas A dan B memperluas kelas benang. Kedua -dua kelas mempunyai pelaksanaan kaedah larian ().  Utas utama adalah yang melaksanakan kaedah utama (). Sebelum benang utama mati, ia mencipta dan memulakan Thread1 dan Thread2. Pada masa benang utama mencapai akhir kaedah utama, tiga benang berjalan selari. Tidak ada urutan khusus di mana benang memberi output. Setelah utas dimulakan, sukar untuk menentukan perintah yang akan mereka laksanakan. Mereka berjalan secara bebas.

Apakah persamaan antara runnable dan utas?

  • Kedua -duanya menggunakan untuk membuat utas di java.

Apakah perbezaan antara runnable dan utas?

Runnable vs Thread

Runnable adalah antara muka di Java untuk membuat benang yang membolehkan banyak benang berkongsi objek benang yang sama. Benang adalah kelas di Java untuk membuat utas di mana setiap benang mempunyai objek unik yang berkaitan dengannya.
 Ingatan
Dalam Runnable, pelbagai benang berkongsi objek yang sama, jadi memerlukan memori yang kurang. Dalam kelas benang, setiap benang mencipta objek yang unik, oleh itu memerlukan lebih banyak ingatan.
Memperluas keupayaan
Setelah melaksanakan antara muka yang boleh dijalankan, ia dapat melanjutkan kelas. Banyak warisan tidak disokong di Java. Setelah melanjutkan kelas benang, ia tidak dapat melanjutkan kelas lain.
 Pengekalkan kod
Antara muka yang boleh dijalankan menjadikan kod lebih banyak diselenggarakan. Dalam kelas benang, mengekalkan adalah memakan masa.

Ringkasan -Runnable vs benang 

Proses dibahagikan kepada pelbagai sub-proses untuk melaksanakan pelbagai tugas pada masa yang sama. Subprocesses ini dikenali sebagai benang. Instantiating Thread boleh dilakukan dengan melaksanakan antara muka yang boleh dijalankan atau dengan memperluaskan kelas thread. Sangat mudah untuk melanjutkan kelas benang, tetapi ia bukan amalan pengaturcaraan berorientasikan objek yang lebih baik. Semasa melaksanakan runnable, banyak benang dapat berkongsi objek benang yang sama semasa dalam memperluaskan kelas benang setiap benang mempunyai objek unik yang berkaitan dengannya. Itulah perbezaan antara runnable dan utas. Dalam kelas Thread Penciptaan Objek Pelbagai boleh menggunakan lebih banyak memori.

Muat turun PDF Runnable vs Thread

Anda boleh memuat turun versi PDF artikel ini dan menggunakannya untuk tujuan luar talian mengikut nota petikan. Sila muat turun versi pdf di sini perbezaan antara runnable dan thread

Rujukan:

1.TutorialSpoint.com. "Java multithreading."Titik, tersedia di sini 
2.Pramodbablad. "Memperluas benang vs melaksanakan di Java."Konsep Java Hari Ini, 11 Nov. 2016. Terdapat di sini
3.Cara untuk membuat benang dalam Multithreading Java | Tutorial Java Teras | KajianTonIght. Terdapat di sini