4
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

Slide 3 - Multithreading

  • 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

Multithreading Programming Network Programming

SETIO BASUKI 4

Reference Handler 10 Signal Dispacher 5 AWT-Windows 5 AWT-Event-Queue-0 6 SunToolkit.PostEventQueue-0 6 Screen Updater 4