- sesuatu yg berjalan dlm prosesor
- bag yg lebih kecil dr sebuah proses
- sekumpulan instruksi yg berjalan sekuensial
Thread bisa dibuat sebagai multithread yg tujuan pembuatannya sama dengan multiproses. Multithread lebih dianjurkan daripada multi proses karena waktu pembuatannnya lebih cepat
contoh 1p1t: ms-dos
1pmt: jvm
mp1t: unix tahun enam puluh-an
mpmt: windows/os x/ubuntu
ciri2 proses:
- memiliki space sndiri utk process mage
- tdk dpt mengakses ruang lain d memori yg menjadi milik proses lain
ciri2 thread:
pny space sndiri TAPI bisa mengakses space lain || ada space yg berhak diakses oleh thread2
versi mini dr sbuah proses ,pny thread state jg dll.
keuntungan thread
lebih cepat dan efisien
contoh aplikasi multiple thread: mozilla firefox
per tab yg muncul adl per thread
kalo google chrome:
per ta yg muncul adl proses
knp google chrome pake multi proses? krn lebih aman
pake multi proses + multithread = APACHE
fungsi: file bs diakses d sluruh dunia
ctg penggunaan thread
1. foreground & background work
2. asinkronous prosessng
3. speed of eksekusi
thread state:
1. spawn >dibuat os
2block > nunggu event
3unbloc
4finish
user lvl thread
ciri2: kernel tdk tahu thread. krn yg memantau adl library lain
keuntungan:
thread switching tdk butuh kernel mode privileges
dpt brjalan d berbagai os
kerugian:
1 thread brocked, thread lain jg sama yg satu proses
2 thread d proses yg sama tdk dpt berjalan pd dua prosesor
kernel level thread
ciri2
yg mantau kernel
keuntungan
bs jln d proses yg berbeda
kernel routines bs multthreaded
kerugian
memperlambat
melibatkan kernel apa2
hyer lvl thread
ada yg pake user, ada yg pake kernel
THREAD PROGRAMMING
thread di linux
menggunakan POSIX Standard Thread API
dikenal dg nama pthread
d compile dg option:
linking//kayak include
pmbuatan thread:
type var: pthread_t
fungsi buat thread:
int pthread_create<pthread_t .thread , const thread_attr_T .attr, void .<.start_routine> <void .>,void.arg>;
parameter
1. thread ID
2. thread atrribut /NULL kalo bingung
3. fungsi yg ingin dijalankan
4. parameter utk fungsi yg dijalanan
bagaimana jika parameter lbh dr satu?
pake STRUCT
menanti thread
thread dijadwal OS
user tdk tahu mana yg jalan duluan
fngsi utk menunggu eksekusi
int pthread_join
parameter:
1 thread id yg diunggu
2. var utk enimpan return value
Tidak ada komentar:
Posting Komentar
silahkan di komen ya, blog ini adalah dofollow, jadi kalau kamu ninggalin komentar blog ini otomatis memberi backlink ke kamu :)
Pengunjung yang baik selalu meninggalkan jejak :)