Satu program dalam pelaksanaan dikenali sebagai proses. Proses ini boleh dibahagikan kepada beberapa subproses. Sebagai contoh, Microsoft Word adalah satu proses. Pada masa yang sama, ia menyemak kesilapan ejaan dan tatabahasa. Itulah subproses. Subproses ini dikenali sebagai benang. Multithreading adalah proses melaksanakan pelbagai thread serentak. Aplikasi yang diulirkan boleh dibina menggunakan bahasa pengaturcaraan yang berbeza. Runnable dan Thread dikaitkan dengan pengaturcaraan Java. Terdapat dua kaedah di Java untuk membuat thread dengan melaksanakan antara muka Runnable atau melanjutkan kelas Thread. Apabila melaksanakan Runnable, banyak benang dapat berkongsi objek thread yang sama ketika dalam kelas Mempanjangkan Thread, setiap benang memiliki objek unik yang terkait dengannya. Itulah perbezaan utama antara Runnable dan Thread.
1. Gambaran Keseluruhan dan Perbezaan Utama
2. Apakah Runnable
3. Apa itu Thread
4. Kesamaan Antara Runnable dan Thread
5. Side by Side Comparison - Runnable vs Thread dalam Borang Tabular
6. Ringkasan
Satu thread melalui beberapa negeri. Yang "baru" adalah permulaan kitaran hayat thread. Selepas permulaan () kaedah panggilan pada benang baru, ia menjadi runnable. Jika penjadual thread memilih thread, ia transit ke keadaan berjalan. Benang sedang menunggu keadaan jika thread itu sedang menunggu thread lain untuk melakukan tugas. Selepas benang menyempurnakan kerja, ia pergi ke keadaan penamatan.
Satu thread 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, kelas Runnable Demo melaksanakan antara muka Runnable. Kaedah run () berada di dalam kelas yang melaksanakan antara muka Runnable. Ini adalah titik masuk benang. Logik itu dalam kaedah run (). Dalam program utama, benang dibuat dengan mendefinisikan objek yang instantiated dari kelas Runnable Demo. Ia adalah t1. Kaedah permulaan () dipanggil menggunakan t1.
Rujuk program di bawah.
Rajah 02: Program Java untuk membuat thread untuk melaksanakan gelung, dengan melaksanakan antara muka Runnable
Menurut contoh di atas, kelas Runnable Demo melaksanakan antara muka Runnable. Logik untuk melaksanakan menggunakan thread ditulis dalam run () kaedah. Dalam program utama, benang dibuat dengan mendefinisikan objek yang instantiated dari kelas Runnable Demo. Ia adalah t1. Kemudian, permulaan () kaedah dipanggil menggunakan t1.
Kaedah lain untuk membuat thread adalah dengan memperluaskan kelas Thread. Ia terdiri daripada tiga langkah. Pertama adalah untuk mengisytiharkan kelas sebagai melanjutkan kelas Thread. Selepas itu, kaedah run () harus ditulis. Ia mempunyai urutan langkah-langkah thread harus dilaksanakan. Akhirnya, objek thread dicipta, dan kaedah start () dipanggil untuk memulakan pelaksanaan thread. Rujuk program di bawah.
Rajah 03: Program Java yang memanjangkan kelas Thread
Menurut program di atas, kelas MyThread memanjangkan kelas Thread. Ia mengatasi kaedah larian. Kaedah run () mengandungi logik yang akan dilaksanakan oleh benang. Ia adalah titik masuk ke benang. Kemudian objek thread dibuat. Ia adalah thread1. Alasannya dimulakan dengan menggunakan permulaan () kaedah. Ia akan melaksanakan panggilan untuk menjalankan () kaedah.
Satu program contoh dua kelas yang melanjutkan kelas Thread adalah seperti berikut.
Rajah 04: Program Java dengan dua kelas yang memperluaskan kelas Thread
Menurut program di atas, kedua-dua kelas A dan B meluaskan kelas Thread. Kedua-dua kelas mempunyai pelaksanaan kaedah run (). Utang utama adalah yang melaksanakan kaedah utama (). Sebelum thread utama mati, ia membuat dan mula thread1 dan thread2. Pada masa benang utama mencapai penghujung kaedah utama, tiga benang berjalan selari. Tiada urutan khusus di mana benang memberikan output. Setelah benang dimulakan sukar untuk menentukan perintah yang akan mereka jalankan. Mereka berjalan secara bebas.
Runnable vs Thread | |
Runnable adalah antara muka di Java untuk membuat thread yang membolehkan banyak benang untuk berkongsi objek thread yang sama. | Benang adalah kelas di Jawa untuk membuat benang di mana setiap benang mempunyai objek unik yang berkaitan dengannya. |
Memori | |
Dalam Runnable, pelbagai thread berkongsi objek yang sama, jadi memerlukan memori kurang. | Dalam kelas Thread, setiap benang mencipta objek unik, oleh itu memerlukan lebih banyak ingatan. |
Melangkah Keupayaan | |
Selepas melaksanakan antara muka Runnable, ia boleh memanjangkan kelas. | Ramai warisan tidak disokong di Jawa. Selepas memperluaskan kelas Thread, ia tidak boleh melanjutkan sebarang kelas lain. |
Pemeliharaan Kod | |
Antara muka yang boleh dilancarkan membuat kod lebih mudah dikekalkan. | Dalam kelas Thread, mengekalkan memakan masa. |
Proses dibahagikan kepada beberapa sub-proses untuk melaksanakan pelbagai tugas pada masa yang sama. Subproses ini dikenali sebagai benang. Instantiating thread boleh dilakukan dengan melaksanakan antarmuka Runnable atau dengan memperluas Kelas Thread. Ia mudah untuk melanjutkan kelas Thread, tetapi ia bukanlah amalan Pemrograman Berorientasi Objek yang lebih baik. Apabila melaksanakan Runnable, banyak benang dapat berkongsi objek thread yang sama ketika memperluas kelas Thread setiap benang mempunyai objek unik yang berkaitan dengannya. Itulah perbezaan antara Runnable dan Thread. Dalam kelas Pembuatan objek berbilang kelas boleh menggunakan lebih banyak memori.
Anda boleh memuat turun versi PDF artikel ini dan menggunakannya untuk tujuan luar talian seperti nota kutipan. Sila muat turun versi PDF di sini Perbezaan antara Runnable dan Thread
1.tutorialspoint.com. "Java Multithreading." Titik, Boleh didapati di sini
2.Pramodbablad. "Memperluas Thread Vs Melaksanakan Runnable Di Jawa." Konsep Java Hari Ini, 11 Nov 2016. Boleh didapati di sini
3.Nya untuk membuat Thread dalam Java Multithreading | Tutorial Java Teras | Studytonight. Terdapat di sini