|
|
Wikipedysta:PaV/BrudnopisZ WikipediiProblem czytelników i pisarzy - klasyczny informatyczny problem synchronizacji dostępu do jednego zasobu (pliku, rekordu bazy danych) dwóch rodzajów procesów - dokonujących i niedokonujących w nim zmian. W problemie czytelników i pisarzy zasób jest dzielony pomiędzy dwie grupy procesów: Jednoczesny dostęp do zasobu może uzyskać dowolna ilość czytelników. Pisarz może otrzymać tylko dostęp wyłączny. Równocześnie z pisarzem dostępu do zasobu nie może otrzymać ani inny pisarz, ani czytelnik, gdyż mogłoby to spowodować błędy.
[edytuj] Warianty problemuProblem czytelników i pisarzy - klasyczny informatyczny problem synchronizacji dostępu do jednego zasobu (pliku, rekordu bazy danych) dwóch rodzajów procesów - dokonujących i niedokonujących w nim zmian. W problemie czytelników i pisarzy zasób jest dzielony pomiędzy dwie grupy procesów: Jednoczesny dostęp do zasobu może uzyskać dowolna ilość czytelników. Pisarz może otrzymać tylko dostęp wyłączny. Równocześnie z pisarzem dostępu do zasobu nie może otrzymać ani inny pisarz, ani czytelnik, gdyż mogłoby to spowodować błędy.
[edytuj] Warianty problemuProblem czytelników i pisarzy posiada kilka odmian. Najważniejsze z nich to: [edytuj] Pierwszy problem czytelników i pisarzyWariant ten faworyzuje czytelników. Czytelnicy nie mają obowiązku czekania na otrzymanie dostępu do zasobu, jeśli w danym momencie nie otrzymał go pisarz. Ponieważ pisarz może otrzymać tylko dostęp wyłączny, musi czekać na opuszczenie zasobu przez wszystkie inne procesy. Jeśli czytelnicy przybywają odpowiednio szybko, może dojść do zagłodzenia pisarza: w tej sytuacji będzie on w nieskończoność czekał na zwolnienie zasobu przez wciąż napływających nowych czytelników. [edytuj] Drugi problem czytelników i pisarzyWariant faworyzujący pisarzy. Czytelnicy nie mogą otrzymać dostępu do zasobu, jeżeli oczekuje na niego pisarz. W tej sytuacji oczekujący pisarz otrzymuje dostęp najwcześniej, jak to jest możliwe, czyli zaraz po opuszczeniu zasobu przez ostatni proces, który przybył przed nim. W tym wariancie może dojść do zagłodzenia oczekujących czytelników. [edytuj] Inne wariantyInne postacie problemu zakładają między innymi równoczesne wyeliminowanie możliwości zagłodzenia obu typów procesów. |