Perbezaan Antara Runnable Dan Thread

Isi kandungan:

Perbezaan Antara Runnable Dan Thread
Perbezaan Antara Runnable Dan Thread

Video: Perbezaan Antara Runnable Dan Thread

Video: Perbezaan Antara Runnable Dan Thread
Video: Thread и Runnable. Java Professional. Урок 13 2024, Disember
Anonim

Perbezaan Utama - Dijalankan vs Thread

Program dalam pelaksanaan dikenali sebagai proses. Prosesnya boleh dibahagikan kepada beberapa subproses. Sebagai contoh, Microsoft Word adalah proses. Pada masa yang sama, ia memeriksa kesalahan ejaan dan tatabahasa. Itu adalah subproses. Subproses ini dikenali sebagai utas. Multithreading adalah proses melaksanakan beberapa utas secara serentak. Aplikasi berulir dapat dibina menggunakan bahasa pengaturcaraan yang berbeza. Runnable dan Thread dikaitkan dengan pengaturcaraan Java. Terdapat dua kaedah di Java untuk membuat utas dengan menerapkan antara muka Runnable atau memperluas kelas Thread. Semasa melaksanakan Runnable, banyak utas dapat berkongsi objek utas yang sama semasa berada di kelas Extending Thread, setiap utas mempunyai objek unik yang berkaitan dengannya. Itulah perbezaan utama antara Runnable dan Thread.

KANDUNGAN

1. Gambaran Keseluruhan dan Perbezaan Utama

2. Apa yang Boleh Dijalankan

3. Apa itu Benang

4. Persamaan Antara Benang yang Boleh Dijalankan dan Benang

5. Perbandingan Bersebelahan - Dijalankan vs Benang dalam Bentuk Jadual

6. Ringkasan

Apa yang Boleh Dijalankan?

Satu utas melalui beberapa keadaan. "Baru" adalah permulaan kitaran hidup utas. Setelah kaedah start () memanggil utas baru, ia dapat dijalankan. Sekiranya penjadual utas memilih utas, ia beralih ke keadaan berjalan. Benang sedang menunggu keadaan jika utas itu menunggu utas lain untuk menjalankan tugas. Setelah utas menyelesaikan kerja, ia menuju ke keadaan penamatan.

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

Perbezaan Antara Runnable dan Thread
Perbezaan Antara Runnable dan Thread

Gambar 01: Program Java untuk membuat utas menggunakan antara muka Runnable

Mengikut program di atas, kelas Runnable Demo menerapkan antara muka Runnable. Kaedah run () ada di dalam kelas yang menerapkan antara muka Runnable. Ini adalah titik masuk untuk utas. Logiknya dalam kaedah run (). Dalam program utama, utas dibuat dengan menentukan objek yang dibuat dari kelas Demo Runnable. Ia adalah t1. Kaedah permulaan () dipanggil menggunakan t1.

Rujuk program di bawah.

Perbezaan Antara Runnable dan Thread Figure 02
Perbezaan Antara Runnable dan Thread Figure 02

Gambar 02: Program Java untuk membuat utas untuk menjalankan gelung, dengan menerapkan antara muka Runnable

Mengikut contoh di atas, kelas Runnable Demo menggunakan antara muka Runnable. Logik untuk dilaksanakan menggunakan utas ditulis dalam kaedah run (). Dalam program utama, utas dibuat dengan menentukan objek yang dibuat dari kelas Demo Runnable. Ia adalah t1. Kemudian, kaedah start () dipanggil menggunakan t1.

Apa itu Benang?

Kaedah lain untuk membuat utas adalah dengan memperluas kelas Thread. Ia terdiri daripada tiga langkah. Pertama ialah menyatakan kelas sebagai melanjutkan kelas Thread. Selepas itu, kaedah run () harus ditulis. Ia mempunyai urutan langkah yang harus dilaksanakan oleh utas. Akhirnya, objek utas dibuat, dan kaedah mula () dipanggil untuk memulakan pelaksanaan utas. Rujuk program di bawah.

Perbezaan Antara Runnable dan Thread Figure 03
Perbezaan Antara Runnable dan Thread Figure 03

Gambar 03: Program Java yang meluaskan kelas Thread

Mengikut program di atas, kelas MyThread meluaskan kelas Thread. Ia mengatasi kaedah larian. Kaedah run () mengandungi logik yang akan dilaksanakan oleh utas. Ini adalah titik masuk ke utas. Kemudian objek utas dibuat. Ia adalah benang1. Benang dimulakan menggunakan kaedah start (). Ia akan menjalankan kaedah call to run ().

Contoh program dua kelas memperluas kelas Thread adalah seperti berikut.

Perbezaan Utama Antara Runnable dan Thread
Perbezaan Utama Antara Runnable dan Thread

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

Mengikut program di atas, kedua-dua kelas A dan B melanjutkan kelas Thread. Kedua-dua kelas mempunyai pelaksanaan kaedah run (). Benang utama adalah yang melaksanakan kaedah utama (). Sebelum utas utama mati, ia membuat dan memulakan utas1 dan utas2. Pada saat utas utama mencapai akhir kaedah utama, tiga utas berjalan selari. Tidak ada urutan khusus di mana benang memberikan output. Setelah utas dimulakan, sukar untuk memutuskan urutan yang akan mereka laksanakan. Mereka berjalan secara bebas.

Apakah persamaan antara Runnable dan Thread?

Kedua-duanya menggunakan untuk membuat utas di Java

Apakah Perbezaan Antara Runnable dan Thread?

Artikel Diff Tengah sebelum Jadual

Runnable vs Thread

Runnable adalah antara muka di Java untuk membuat utas yang membolehkan banyak utas berkongsi objek utas yang sama. Benang adalah kelas di Java untuk membuat utas di mana setiap utas mempunyai objek unik yang berkaitan dengannya.
Ingatan
Dalam Runnable, banyak utas berkongsi objek yang sama, jadi memerlukan lebih sedikit memori. Di kelas Thread, setiap thread membuat objek yang unik, oleh itu memerlukan lebih banyak memori.
Memperluas Keupayaan
Setelah melaksanakan antara muka Runnable, ia dapat meluaskan kelas. Pelbagai warisan tidak disokong di Java. Setelah melanjutkan kelas Thread, tidak boleh melanjutkan kelas lain.
Pemeliharaan Kod
Antaramuka yang dapat dijalankan menjadikan kod lebih terpelihara. Di kelas Thread, penyelenggaraan memakan masa.

Ringkasan - Runnable vs Thread

Suatu proses dibahagikan kepada beberapa sub-proses untuk melakukan pelbagai tugas pada masa yang sama. Subproses ini dikenali sebagai utas. Instantiating thread dapat dilakukan dengan menerapkan antara muka Runnable atau dengan memperluas Kelas Thread. Sangat mudah untuk melanjutkan kelas Thread, tetapi ini bukan latihan Pengaturcaraan Berorientasikan Objek yang lebih baik. Semasa melaksanakan Runnable, banyak utas dapat berkongsi objek utas yang sama semasa melanjutkan kelas Thread setiap utas mempunyai objek unik yang berkaitan dengannya. Itulah perbezaan antara Runnable dan Thread. Dalam kelas Thread, penciptaan pelbagai objek dapat memakan lebih banyak memori.

Muat turun PDF Runnable vs Thread

Anda boleh memuat turun versi PDF artikel ini dan menggunakannya untuk tujuan luar talian seperti dalam catatan petikan. Sila muat turun versi PDF di sini Perbezaan Antara Runnable dan Thread

Disyorkan: