Задача читачів та записувачів

Задача про читачів та записувачів (англ. readers–writers problem) — одна з задач синхронізації в інформатиці, що забезпечує ексклюзивний доступ до спільного ресурсу.

Це задача про доступ багатьох потоків до спільної пам'яті, кожен з яких може читати або записувати дані, при умові, що доступ інших потоків до даних заборонений під час запису даних.

Для її вирішення застосовується примітив синхронізації read–write lock.

Існує три варіанти цієї задачі:

  • з пріоритетом читача — читач не повинен очікувати, якщо інший читач в цей час читає дані;
  • з пріоритетом записувача — записувач не повинен чекати більше ніж це абсолютно необхідно;
  • чесний розподіл ресурсів — кожен потік повинен виконати свою роботу, незалежно від дій інших потоків.

Джерела

  • Communications of the ACM :Concurrent Control with "Readers" and "Writers" P.J. Courtois,* F. H, 1971
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.