Проблемът на читателите и писателите - класически ИТ проблем на синхронизирането на достъпа до един ресурс (файл, запис на база данни) на два типа процеси: тези, които правят и не правят промени в него.
В проблема с читателите и писателите ресурсът е разделен между две групи процеси:
читатели - всички процеси, които не променят ресурса,
писатели - други процеси. Всеки брой читатели могат да имат достъп до ресурса едновременно. Писателят може да получи само изключителен достъп. Едновременно с писателя, нито писателят, нито читателят могат да получат достъп до ресурса, тъй като това може да причини грешки.
Варианти за решаване на проблема
Проблемът на читателите и писателите има няколко решения.
Възможност за предпочитане на читателите
Читателите не са длъжни да чакат достъп до ресурса, ако писателят не го е получил в момента. Тъй като писателят може да получи само изключителен достъп, той трябва да изчака всички останали процеси да напуснат ресурса. Ако читателите пристигнат достатъчно бързо, писателят може да гладува: в тази ситуация той ще чака неограничено време за освобождаването на ресурса от нови входящи читатели.
Вариант, предпочитащ писателите
Читателите не могат да получат достъп до ресурса, ако писателят го чака. В тази ситуация чакащият писател получава достъп възможно най-скоро, тоест веднага след като ресурсът напусне последното изпитание, пристигнало преди него.
Copyright 2024 puzzlefactory.com Всички права запазени.