Friday, June 15, 2012

Penjadwalan Thread


Pada pembahasan threads, kita mengenalkan thread untuk model proses, hal itu mengizinkan sebuah proses untuk mempunyai kontrol terhadap multiple threads. Lebih lanjut bisa membedakan antara user-level dan kernel level threads. User level threads diatur oleh thread library. Untuk menjalankan di CPU, user level threads dipetakan dengan asosiasi kernel level thread, walaupun mapping ini mungkin bisa indirect dan menggunakan lightweight.

 Java Thread dan Algoritma
Penjadwalan thread yang runnable oleh Java Virtual Machine dilakukan dengan konsep preemptive dan mempunyai prioritas tertinggi. Dalam algoritma, kriteria-kriteria evaluasi ditentukan terlebih dahulu, seperti utilisasinya dilihat dar segi waktu tunggu yang digunakan dan throughput yang disesuaikan dengan waktu turnaround-nya.
1.8.   Penjadwalan Java Thread
Java Virtual Machine menjadwalkan thread menggunakan preemptive, berdasarkan prioritas algoritma penjadwalan. Semua Java Thread diberikan sebuah prioritas dan Java Virtual Machine menjadwalkan thread yang runnable dengan menggunakan prioritas tertinggi, Java Virtual Machine akan menjadwalkan thread tersebut dengan menggunakan sebuah antrian secara FIFO.
Keunggulan Penjadwalan Java Thread
1.    Java Virtual Machine menggunakan prioritas preemptive berdasarkan algoritma penjadwalan
2.    Semua thread Java mempunyai prioritas dan thread dengan prioritas tertinggi dijadwalkan untuk dieksekusi oleh Java Virtual Machine.
3.    Jika terjadi dua thread dengan prioritas sama maka digunakan algoritma First In First Out.
Thread lain dijalankan bila terjadi hal-hal berikut ini:
·         Thread yang sedang dieksekusi keluar dari status runnable, misalnya diblok atau berakhir
·         Thread dengan prioritas yang lebih tinggi dari thread yang sedang dieksekusi memasuki status runnable. Maka thread dengan prioritas yang lebih rendah ditunda eksekusinya dan digantikan oleh dengan prioritas lebih tinggi.
Time slicing bergantung pada implementasinya. Sebuah thread dapat memberi kontrol pada yield() method. Saat thread memberi sinyal pada CPU untuk mengontrol thread yang lain dengan prioritas ynag sama, maka thread tersebut dijadwalkan untuk dieksekusi. Thread yang memberi kontrol pada CPU disebut Cooperative Multitasking.
1.8.

1 comments:

Unknown said...

KURANG LENGKAP

Post a Comment

 
Autumn Falling Leaves