Skip to main content

Jaki jest problem z napisem czytelników?

Problem z napisem czytników to dylemat programowy stworzony, gdy wielu czytelników i pisarzy potrzebuje dostępu do tego samego zasobu.Gdyby wszyscy mogli mieć dostęp do dostępu, mogą pojawić się problemy takie jak zastąpienie, niekompletne informacje i inne problemy.Dlatego programiści mogą ograniczyć dostęp do kontroli, które wątki przetwarzania widzi zasoby, a kiedy, biorąc pod uwagę potrzeby systemu i użytkowników.Istnieje kilka sposobów rozwiązania problemu czytelników.Jedno z najczęstszych rozwiązań jest użycie semaforów do oznaczenia statusu i dostępu do kontroli.

Z jednej perspektywy dowolna liczba czytelników może bezpiecznie uzyskać dostęp do zasobu, ponieważ nie wprowadzają zmian w treści.Gdy pisarz wejdzie do równania, sytuacja staje się bardziej skomplikowana.Jeśli wątek pisze, gdy czytają inne wątki, czytelnicy mogą nie uzyskać poprawnych informacji.Mogą otrzymać tylko część zmiany lub mogą zobaczyć przestarzałe informacje i pomyśleć, że są to dokładne.

Więcej niż jeden pisarz może również stworzyć problem.Jednoczesne zmiany w tej samej treści mogą ją zastąpić i wywołać inne błędy.Zgodnie z problemem czytelników-pisarzy programiści muszą zdecydować, czy czytelnicy lub pisarze mają priorytet i jak obsługiwać dostęp.Czytelnikom lub pisarze mogą otrzymać priorytet lub system może przypisać dostęp na zasadzie pierwszej serwisu.To trzecie rozwiązanie może zapobiec długim oczekiwaniu, ale może mieć własne problemy.

W rozwiązaniu, w którym czytelnicy mają priorytet, system zakłada, że każdy czytelnik z prośbą o dostęp powinien być dozwolony, gdy dostęp do dostępu będzie dostępny.Oznacza to, że wszyscy pisarze, którzy chcą uzyskać dostęp do zasobów, mogą potrzebować czekać.I odwrotnie, system może założyć, że ponieważ pisarze muszą wprowadzić zmiany, które mogą mieć wpływ na czytelników, powinny mieć pierwszeństwo w ramach problemu z pisarami czytelników.Kiedy czytelnik jest gotowy z zasobem, pisarz może wskoczyć, aby dokonać zmiany.Dotyczy to nie tylko działań użytkowników, takich jak próba zapisania dokumentu, ale także do procesów wewnętrznych wewnątrz komputera, które utrzymują system działający.

Inna opcja pozwala czytnikom problemu z zrównoważeniew miarę przybycia.Zapobiega to wprowadzaniu zmian, które zastępują się lub mylą czytelników, nie pozostawiając czytelników czekających lub zmuszania pisarzy do trzymania się, gdy czytelnicy kończą.Takie priorytety mogą być wbudowane w oprogramowanie lub kontrolę dostępu do pamięci w komputerze.Użytkownicy mogą być w stanie wprowadzić zmiany, jeśli czują się komfortowo z programowaniem, a system na to pozwala.