![]() 19
dijalankan di satu AppDomain tidak dapat diakses oleh AppDomain yang lain (Evjen,
2008, p1047).
Dalam pemrograman
multithread
terdapat tahapan-tahapan
yang berhubungan
dengan status thread yang dikelola. Contoh tahapan-tahapan untuk kasus dua thread
yang berjalan bersama-sama
(konkuren), kemudian
di
tengah
perjalanan salah satu
thread menunggu thread lainnya selesai, dapat dilihat pada tabel 2.1
Tabel 2.1 - Contoh Tahapan-Tahapan Untuk Kasus Dua Thread
No.
Thread Utama
1.
Thread utama membuat dan menjalankan 2 buah thread. Thread utama aktif
Thread 1
Thread 2
2.
Thread 1 melakukan proses
pembuatan (Create).
Thread 2 melakukan proses pembuatan
(Create).
3.
Thread 1 melakukan proses Join
terhadap thread 2, thread 1
menunggu hingga thread 2 selesai
Thread 2 Aktif
4.
Thread 2 selesai, memberitahukan ke
thread 1 bahwa telah selesai.
Thread 1 menerima pemberitahuan
thread 2 bahwa telah selesai, thread
1 kembali aktif.
5.
Thread 1 selesai
2.2.6
Sinkronisasi
Multi Thread
Pemrograman
multithread
membutuhkan
sebuah
mekanisme
sinkronisasi
antar
thread.
Sinkronisasi dibutuhkan
untuk
mencegah
dua
buah
thread
mengakses
data
atau
sumber
daya kritis
pada saat
yang
bersamaan.
Ada
beberapa
mekanisme
sinkronisasi
multithread
seperti
mutex,
semaphore,
variable
condition,
dll.
|