Algoritma 1
Algoritma 1 mencoba mengatasi
masalah criticalsection untuk dua proses. Algoritma ini menerapkan
sistem bergilir kepada kedua proses yang ingin
mengeksekusi criticalsection, sehingga kedua proses tersebut harus
bergantian menggunakan criticalsection.
Algoritma ini
menggunakan variabel bernama turn, nilai turn menentukan proses
mana yang boleh memasuki criticalsection dan mengakses data yang
di- sharing. Pada awalnya variabel turn diinisialisasi 0,
artinya P0 yang boleh mengakses criticalsection. Jika turn= 0 dan P0
ingin menggunakan criticalsection, maka ia dapat
mengakses criticalsection-nya. Setelah selesai
mengeksekusi criticalsection, P0 akan mengubah turn menjadi 1,
yang artinya giliran P1 tiba dan P1 diperbolehkan mengakses criticalsection.
Ketika turn= 1 dan P0 ingin menggunakan criticalsection, maka P0
harus menunggu sampai P1 selesai menggunakan criticalsection dan
mengubah turn menjadi 0.


