Anda di halaman 1dari 2

Masalah Readers-Writers merupakan masalah klasik dalam sinkronisasi.

Solusi
dari masalah ini diperlukan untuk dapat menjaga konsistensi data. Banyak thread
bisa berbagi sumber daya penyimpanan yang sama. Readers-Writers Terdiri dari
dua Thread. Thread yang membaca disebut readers (pembaca), sedangkan yang
menulis disebut writers (penulis).
Kondisi Readers-Writers
1. Readers dapat membaca secara bersamaan.
2. Hanya boleh ada satu Writers pada suatu saat.
3. Bila ada yang melakukan proses read, tidak boleh ada yang melakukan
proses write.
Masalah: Adanya beberapa readers dan writers yang ingin mengakses suatu berkas
secara bersamaan.
Solusi agar tidak terjadi Corupt Data:
1. Pembaca Diprioritaskan
Solusi ini tepat digunakan jika tujuan yang ingin dicapai adalah memperoleh
throughput semaksimal mungkin. Solusi ini bekerja dengan lebih
memprioritaskan pembaca meskipun sudah banyak writer yang mengantri.
Dengan adanya solusi ini, penulis mungkin saja berada dalam antrian untuk
waktu yang tak terbatas. Jika kasus ini terjadi berulang kali, writer akan
mengalami starvation (kekurangan resource/tidak update).
2. Penulis Diprioritaskan
Pada solusi ini, jika tidak ada yang mengaksess berkas maka penulis akan
mengakses berkas dan pembaca akan dibiiarkan mengantri sampai semua
penulis menyelesaikan tugasnya. Keuntungan solusi ini adalah pembaca
dapat memperoleh informasi yang selau up-to-date.
Namun, kedua solusi tersebut tidak memenuhi syarat bahwa setiap
thread tidak boleh dibiarkan menunggu untuk waktu yang tidak terbatas.
3. Pembaca Dan Penulis Mendapat Prioritas yang sama
Pada solusi ini, penulis dan pembaca diberi giliran yang adil dalam hal
pengaksesan berkas. Jika tidak ada thread pembaca yang sedang mengakses
berkas, maka penulis dapat mengaksesnya. Dan jika selesai maka akan
memberikan giliran pada pembaca untuk mengakses berkas. Dengan solusi
ini, tidak ada thread yang menunggu dalam waktu yang tidak terbatas maka
cara ini merupakan cara yang tepat untuk menyelesaikan masalah
konkurensi.

Anda mungkin juga menyukai