A | B | C | D | E | F | G | H | CH | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
V informatike, prvý a druhý problém čitatela-zapisovateľa sú príklady všeobecných výpočtových problémov. Dva problémy zaoberajúce sa situáciami v ktorom mnoho vlákien musí pristupovať v rovnaký okamih do spoločnej zdieľanej pamäti, niektoré čítanie a niektorého písania, s prirodzenou obmedzujúcou podmienkou, že proces nemôže pristúpiť k čítaniu alebo písaniu pokiaľ iný proces práve zapisuje. (Povolené pre dvoch čitateľov súčasne pristupujúcich do zdieľanej pamäte.) Zámka čitateľa-zapisovateľa je dátová štruktúra, ktorá rieši jeden alebo viacej problémov čitateľa-zapisovateľa.
Prvý problém čitateľa-zapisovateľa
Predstavme si, že máme oblasť zdieľanej pamäte s obmedzujúcimi podmienkami popísanými vyššie. Zdieľané dáta je možné chrániť za pomoci mutex, z ktorých jasne žiadne vlákno nemôže pristúpiť k dátam v rovnaký čas ako iný zapisovateľ. Avšak, toto riešenie je suboptimálne, pretože nie je vylúčené, že čitateľ R1 mohol mať zámok a iný čitateľ R2 požiadal o prístup. To by mohlo byť zbytočné pre R2 čakať, dokým R1 dokončí čítanie aby R2 mohol sám čítať namiesto toho, aby čítal okamžite. Toto je motivácia prvého problému čitateľ-zapisovateľa, v ktorom je pridaná podmienka, že žiadny čitateľ by nemal čakať pokiaľ je zdieľanie práve otvorené pre čítanie. Toto sa tiež volá preferencia čitateľa.
Druhý problém čitateľa-zapisovateľa
Predpokladajme, že máme oblasť zdieľanej pamäte chránenú pomocou mutex, ako je uvedené vyššie. Toto riešenie je tiež suboptimálne, pretože sa môže stať, že čitateľ R1 má zámok, zapisovateľ W čaká na zámok a čitateľ R2 žiada o prístup. To môže byť nevýhodné pre R2 preskočiť pred W a čítať okamžite, lebo ak sa to bude stávať dosť často, W sa nedostane k slovu a nebude zapisovať. Namiesto toho, W by mal začať čo najskôr. Toto je motivácia druhého problému čitateľ-zapisovateľa, v ktorom je pridaná podmienka, že žiaden zapisovateľ, ktorý už bol pridaný do radu nebude čakať dlhšie, než je to nevyhnutne potrebné. Toto sa tiež volá preferencia zapisovateľa.
Tretí problém čitateľ-zapisovateľa
V skutočnosti, riešenia oboch problémov vedú k hladovaniu — v prvom probléme čitateľ-zapisovateľa môže hladovať zapisovateľ v rade, v druhom probléme čitateľ-zapisovateľa môže hladovať čitateľ. Z toho dôvodu, tretí problém čitateľ-zapisovateľa sa používa vtedy, keď je pridaná podmienka, že žiadne vlákno nesmie hladovať, teda operácia získavania zámku na zdieľané dáta bude vykoná v konečnom čase. Riešením tretieho problému čitateľ-zapisovateľa je občas nutnosť vyžadovať od čitateľa čakať napriek tomu, že je povolené čítanie dát a občas žiadať zapisovateľa čakať dlhšie, než je nevyhnutne nutné.
Pozri aj
Text je dostupný za podmienok Creative Commons Attribution/Share-Alike License 3.0 Unported; prípadne za ďalších podmienok. Podrobnejšie informácie nájdete na stránke Podmienky použitia.
Antropológia
Aplikované vedy
Bibliometria
Dejiny vedy
Encyklopédie
Filozofia vedy
Forenzné vedy
Humanitné vedy
Knižničná veda
Kryogenika
Kryptológia
Kulturológia
Literárna veda
Medzidisciplinárne oblasti
Metódy kvantitatívnej analýzy
Metavedy
Metodika
Text je dostupný za podmienok Creative
Commons Attribution/Share-Alike License 3.0 Unported; prípadne za ďalších
podmienok.
Podrobnejšie informácie nájdete na stránke Podmienky
použitia.
www.astronomia.sk | www.biologia.sk | www.botanika.sk | www.dejiny.sk | www.economy.sk | www.elektrotechnika.sk | www.estetika.sk | www.farmakologia.sk | www.filozofia.sk | Fyzika | www.futurologia.sk | www.genetika.sk | www.chemia.sk | www.lingvistika.sk | www.politologia.sk | www.psychologia.sk | www.sexuologia.sk | www.sociologia.sk | www.veda.sk I www.zoologia.sk
