Monitor adalah suatu tipe data abstrak yang dapat mengatur aktivitas
serta penggunaan resource oleh beberapa thread. Ide monitor pertama kali
diperkenalkan oleh C.A.R Hoare dan Per Brinch-Hansen pada awal 1970-an.
Monitor terdiri atas data-data private dengan fungsi-fungsi public yang
dapat mengakses data-data tersebut. Method-method dalam suatu monitor
sudah dirancang sedemikian rupa agar hanya ada satu buah method yang
dapat bekerja pada suatu saat. Hal ini bertujuan untuk menjaga agar
semua operasi dalam monitor bersifat mutual exclusion. Monitor dapat
dianalogikan sebagai sebuah bangunan dengan tiga buah ruangan yaitu satu
buah ruangan kontrol, satu buah ruang-tunggu-masuk, satu buah
ruang-tunggu-dalam. Ketika suatu thread memasuki monitor, ia memasuki
ruang-tunggu-masuk (enter). Ketika gilirannya tiba, thread memasuki
ruang kontrol (acquire), di sini thread menyelesaikan tugasnya dengan
shared resource yang berada di ruang kontrol (owning). Jika tugas thread
tersebut belum selesai tetapi alokasi waktu untuknya sudah habis atau
thread tersebut menunggu pekerjaan thread lain selesai, thread
melepaskan kendali atas monitor (release) dan dipindahkan ke
ruang-tunggu-dalam (waiting queue). Ketika gilirannya tiba kembali,
thread memasuki ruang kontrol lagi (acquire). Jika tugasnya selesai, ia
keluar dari monitor (release and exit). Monitor berfungsi sebagai
menampilkan beragam menu dalam Monitor adalah suatu tipe data abstrak
yang dapat mengatur aktivitas serta penggunaan resource oleh beberapa
thread. Ide monitor pertama kali diperkenalkan oleh C.A.R Hoare dan Per
Brinch-Hansen pada awal 1970-an. Monitor terdiri atas data-data private
dengan fungsi-fungsi public yang dapat mengakses data-data tersebut.
Method-method dalam suatu monitor sudah dirancang sedemikian rupa agar
hanya ada satu buah method yang dapat bekerja pada suatu saat. Hal ini
bertujuan untuk menjaga agar semua operasi dalam monitor bersifat mutual
exclusion. Monitor dapat dianalogikan sebagai sebuah bangunan dengan
tiga buah ruangan yaitu satu buah ruangan kontrol, satu buah
ruang-tunggu-masuk, satu buah ruang-tunggu-dalam. Ketika suatu thread
memasuki monitor, ia memasuki ruang-tunggu-masuk (enter). Ketika
gilirannya tiba, thread memasuki ruang kontrol (acquire), di sini thread
menyelesaikan tugasnya dengan shared resource yang berada di ruang
kontrol (owning). Jika tugas thread tersebut belum selesai tetapi
alokasi waktu untuknya sudah habis atau thread tersebut menunggu
pekerjaan thread lain selesai, thread melepaskan kendali atas monitor
(release) dan dipindahkan ke ruang-tunggu-dalam (waiting queue). Ketika
gilirannya tiba kembali, thread memasuki ruang kontrol lagi (acquire).
Jika tugasnya selesai, ia keluar dari monitor (release and exit).
Monitor berfungsi sebagai menampilkan beragam menu dalam
Rabu, 04 Juni 2014
Langganan:
Posting Komentar (Atom)
0 komentar:
Posting Komentar