Upload
setio
View
3
Download
0
Embed Size (px)
DESCRIPTION
Multithreading Slide
Citation preview
Multithreading Programming Network Programming
SETIO BASUKI 1
Multithreading Programming
4.1 Type Multitasking
Pada dasarnya Multitasking dapat dikategorikan lagi
menjadi dua jenis eksekusi, yaitu Multiprocessing dan
Multithreading. Sebelum kita lebih lanjut membahas tentang
Multiprocessing dan Multithreading, kita lihat terlebih dahulu
perbedaan mendasar antara Process dan Thread yang
ditunjukan pada tabel di bawah ini :
PROCESS THREAD Heavyweight Process Lightweight Process
Memiliki address space sendiri Share address space antara Thread Dapat berkomunikasi dengan process yang lain dengan Inter Process Communication (IPC),
dan dikontrol oleh Sistem Operasi.
Share variable dengan Thread yang lain, yang memerlukan tindakan sinkronisasi yang ditetapkan oleh Developer
Long-Term Execution Short-Term Execution, dan lebih
cepat dari process
Dengan mengacu pada tabel diatas, maka dapat ditarik
suatu definisi dari Multiprocessing dan Multithreading.
Multiprocessing merupakan suatu mekanisme untuk melakukan
eksekusi serangkaian process secara bersamaan. Sedangkan
Multithreading Programming Network Programming
SETIO BASUKI 2
Multithreading merupakan mekanisme untuk melakukan
eksekusi serangkaian thread secara bersamaan.
Concurrent Execution
Parallel Execution
Multithreading Programming Network Programming
SETIO BASUKI 3
4.2 Multithreading Pada Java
Newborn
Runnable Running
Dead
Block
start()
yield()
stop()
stop()
notify()
stop()
suspend()
sleep()
wait()
Penentuan Prioritas Thread
Pada implementasinya, akan sangat dibutuhkan suatu
mekanisme penentuan prioritas suatu thread. Akan sangat tidak
masuk akal jika suatu task (yang dalam hal ini adalah thread)
yang mendesak mendapatkan prioritas yang sama dengan
prioritas thread yang tidak begitu mendesak.
Thread Name Priority Main 5 Finalizer 8