Metode penjadwalan thread Java adalah: 1. Penjadwalan thread kolaboratif. Sistem multi-thread mengadopsi penjadwalan kolaboratif, dan waktu eksekusi thread dikendalikan oleh thread itu sendiri. 2. Penjadwalan thread preemptive. Menggunakan sistem multi-thread penjadwalan preemptive, waktu eksekusi setiap thread akan dialokasikan oleh sistem.
Lingkungan operasi tutorial ini: sistem Windows 7, versi Java 10, komputer DELL G3.
1. Penjadwalan thread kooperatif
Sistem multi-thread mengadopsi penjadwalan kooperatif. Waktu eksekusi thread dikontrol oleh thread itu sendiri. Setelah thread menyelesaikan pekerjaannya, thread tersebut secara aktif memberi tahu sistem untuk beralih ke thread lain. Keuntungan dari multithreading kooperatif adalah implementasinya yang sederhana, karena thread akan berpindah thread setelah menyelesaikan pekerjaannya sendiri, operasi peralihan diketahui oleh thread itu sendiri, sehingga umumnya tidak ada masalah sinkronisasi thread. Kekurangannya juga jelas: waktu eksekusi thread tidak dapat dikontrol, dan jika kode thread ditulis dengan salah dan sistem tidak diperbolehkan untuk berpindah thread, program akan selalu diblokir.
2. Penjadwalan thread preemptif
Dengan menggunakan sistem multi-thread penjadwalan preemptive, waktu eksekusi setiap thread akan dialokasikan oleh sistem, dan pergantian thread tidak ditentukan oleh proses itu sendiri. Misalnya di Java, ada metode Thread::yield() yang dapat secara aktif memberikan waktu eksekusi, tetapi jika Anda ingin secara aktif mendapatkan waktu eksekusi, thread itu sendiri tidak memiliki cara. Dengan cara ini, penjadwalan thread diimplementasikan, dan waktu eksekusi thread dikontrol oleh sistem. Tidak ada masalah jika satu thread menyebabkan seluruh proses atau bahkan seluruh sistem diblokir.
Di atas adalah dua metode penjadwalan thread Java. Saya harap dapat bermanfaat bagi semua orang.