PERTEMUAN VI : THREAD
PENGENALAN THREAD
“cara dari komputer untuk menjalankan dua atau lebih task dalam waktu
bersamaan”
Multiprocessing Multithreading
PARALEL
KONKUREN
User Thread vs Kernel Thread
❖ Kelebihan
❖ Tidak ada batasan jumlah user-thread yang bisa dibuat
❖ Kelemahan
❖ Satu thread melakukan blocking (misal I/O), seluruh
proses ter-block
❖ Multithread tidak dapat dijalankan secara parallel pada
sistem multicore
❖ Contoh
❖ Solaris Green Threads
❖ GNU Portable Threads
Model One-to-One
❖ Kelebihan
❖ Satu thread blocking tidak akan berpengaruh ke
thread lain
❖ Multithread dapat dijalankan secara parallel
pada sistem multicore
❖ Kelemahan
❖ Jumlah user-thread yang bisa dibuat terbatas
❖ Pembuatan kernel-thread dapat membebani
performa
❖ Kelebihan :
❖ Satu thread blocking tidak akan berpengaruh
ke thread lain
❖ Menyediakan API dalam level pengguna tanpa dukungan dari kernel sehingga
pemanggilan fungsi tidak melalui system call.
❖ Menyediakan API di level kernel yang didukung secara langsung oleh sistem
operasi. Pemanggilan fungsi call akan melibatkan system call ke kernel.
Ada tiga pustaka thread yang sering digunakan saat ini, yaitu: POSIX Pthreads, Java, dan
Win32.
Thread Cancellation
❖ Keuntungan :
❖ (Biasanya) lebih cepat untuk melayani permintaan dengan thread yang ada
dibandingkan menunggu thread baru dibuat.
❖ Thread pool membatasi jumlah thread yang ada pada suatu waktu. Jumlah
thread dalam pool dapat tergantung dari jumlah CPU dalam sistem, jumlah
memori fisik, dan jumlah permintaan klien yang concurrent.
Status Thread