Rabu, 22 April 2015

Definisi Thread

THREAD


Thread adalah sebuah alur kontrol dari sebuah proses. Suatu proses yang multithreaded 
mengandung beberapa perbedaan alur kontrol dengan ruang alamat yang sama. Keuntungan dari multithreaded meliputi peningkatan respon dari user, pembagian sumber daya proses, ekonomis, dan kemampuan untuk mengambil keuntungan dari arsitektur multiprosesor. 
Ada tiga perbedaan tipe dari model
yang berhubungan dengan user dan kernel thread atau yang biasa disebut Multithreading Models yaitu :
¨  1)Model many to one: memetakan beberapa user level thread hanya ke satu buah kernel thread.
¨  2)Model one to one: memetakan setiap user thread ke dalam satu kernel thread. Berakhir.
¨  3)Model many to many: mengizinkan pengembang untuk membuat user thread sebanyak mungkin, 


JENIS THREAD
1)User thread
¨  Selalu berasosiasi dengan kernel thread
¨  Pustaka di level user ! cepat
¨  Salah satu thread yang melakukan blocking akan mencegah seluruh
¨  proses di mana thread tersebut berasal untuk ditunda (single thread
            kernel) ! SC: read , sleep
¨  Pthread (POSIX), Win32, Java     
            2)Kernel thread
¨  Pengelolaan di level kernel
¨  lambat
¨  dianggap seperti proses
¨  Salah satu thread yang melakukan blocking, tidak mencegah seluruh
            proses tertunda


MODEL THREAD

     ¨  Model many to one : memetakan beberapa user level thread hanya ke satu buah        kernel thread


¨  Model one to one : memetakan setiap user thread kedalam satu kernel thread, berakhir.

¨  Model many to many : mengizinkan pengembang untuk membuat user thread sebanyak mungkin, konkurensi tidak dapat tercapay karena hanya satu thread yang dapat diajukan oleh kernel dalam suatu waktu.




JENIS THREAD BERDASARKAN WAKTU PENCIPTANYA
¨  1. Static threads
Jumlah thread yang akan dibuat ditentukan saat penulisan dan kompilasi program.
            Tiap thread langsung dialokasikan stack tetap.
Keunggulannya : sederhana.
Kelemahannya  :  tidak fleksibel.
¨  2. Dynamic threads
Penciptaan dan penghancuran thread “on-the-fly” saat eksekusi. Penciptaan thread  
¨  biasanya menspesifikasikan fungsi utama thread (seperti pointer ke procedure) dan ukuran stack, 

dapat juga ditambah parameter-parameter lan seperti prioritas panjadwalan.
Keunggulannya : fleksibel.
Kelemahannya  : lebih rumit.

Tidak ada komentar:

Posting Komentar