Anda di halaman 1dari 9

THREAD dalam SISTEM

OPERASIS
Presentasi by:
Sang Ayu Putu Hidayanti
[192 080 28]
Apa itu Thread?
Thread adalah sebuah alur kontrol dari
sebuah proses. Kontrol single thread hanya
memungkinkan proses untuk menjalankan
satu tugas pada satu waktu. Thread disebut
juga lightweight process.
Thread unit dasar dari useran CPU, terdiri dari:
 Thread_ID
 program counter
 register set, dan
 stack
Jenis-Jenis Proses Thread

Pada proses thread terdapat dua jenis thread, yaitu:


1. Single Thread Process
Proses tradisional atau heavyweight process mempunyai single thread yang berfungsi sebagai
pengendali.
2. Multithread Process
Merupakan satu atau beberapa thread yang dijalankan secara bersamaan
(multiproses), dimana masing-masing thread tersebut dijalankan pada jalur
masing-masing.

Gambar Single Thread

Gambar multithread process


Keuntungan Thread
 Responsiveness
multithreading dapat membuat sebuah program terus
berjalan meski pun sebagian dari program tersebut diblok
atau melakukan operasi yang panjang

 Resource sharing
Thread berbagi memori dan sumber daya dengan thread lain yang dimiliki oleh proses yang
sama

 Economy
Thread berbagi memori dan sumber daya proses yang memilikinya maka akan
lebih ekonomis untuk membuat dan context switch thread.

 Utilization of multiprocessor architectures


Setiap thread dapat berjalan secara pararel di atas processor yang
berbeda.
Model Multithread
A. Berdasarkan Thread Support B. Berdasarkan Pemetaan Thread
1). Thread User (User Thread) 1. Many to One
2). Thread Kernel 2. One to One
3. Many to Many

Gambar Many to Many

Gambar Many to One

Gambar One to One


Status Thread
1. New
Yaitu saat instansiasi objek dengan statement
new.

2. Runnable
Artinya thread tersebut sudah memenuhi syarat
untuk dijalankan oleh Java Virtual Machine
(JVM).

Gambar . Status Thread


3. Blocked
Thread terhenti untuk sementara.

4. Dead
Setelah keluar dari method run(), thread akan berada dalam status dead dan menjadi tidak
aktif lagi
Class Thread
Constructor
 Thread()
 Thread(String name)
 Thread(Runnable target)
 Thread(Runnable target, String name)

Contants
 public final static int MIN_PRIORITY
 public final static int NORM_PRIORITY
 public final static int MAX_PRIORITY

Method
 public static Thread currentThread()
 public final String getName()
 public final void setName(String name)
 public final int getPriority()
 public final boolean isAlive()
 public final void sleep (long milis)
 Public void run()
 Public void start()
Pembuatan Thread
 Extend class Thread
 Implementasi interface Runnable

Pustaka Thread (Library Thread)


o Menyediakan API dalam level pengguna tanpa dukungan dari kernel sehingga
pemanggilan fungsi tidak melalui system call.
o Menyediakan API di level kernel yang didukung secara langsung oleh sistem
operasi.

Pembatalan Thread (Thread Cancellation)


Pemberhentian target thread dapat dilakukan dengan 2 cara, yaitu:
a. Asynchronous cancellation.
b. Deferred cancellation

Penjadwalan Thread
Untuk menjadwalkan thread, sistem mulithreading many to many atau many to one
menggunakan:
 Process Contention Scope (PCS).
 System Contention Scope (SCS).
Terimakasih
sudah menyimak
☺️👏

Anda mungkin juga menyukai