|
5 / 5 / 1
Регистрация: 30.07.2011
Сообщений: 257
|
|
Задача читателей и писателей: автоопределение приоретета26.03.2012, 14:07. Показов 4115. Ответов 5
Метки нет (Все метки)
Требуется реализовать задачу читателей и писателей, которая будет в зависимости от создаваемых процессов определять какой приоретет выбрать.
0
|
|
| 26.03.2012, 14:07 | |
|
Ответы с готовыми решениями:
5
Межпроцессная синхронизация: проблема читателей и писателей Логическая задача про писателей и количество рассказов.
|
| 26.03.2012, 17:28 | |
|
а что такое в этой задаче приоритеты?
Это когда читатель с более высоким приоритетом может начать чтение, если в ожидании писатель с меньшим приоритетом? Не по теме: Что-то не уверен, что я вполне по-русски это написал...
0
|
|
|
5 / 5 / 1
Регистрация: 30.07.2011
Сообщений: 257
|
|
| 26.03.2012, 18:50 [ТС] | |
|
villu, да, есть 2 известных способа реализации. Но и такой способ тоже существует, автоопределение по потоку, приоритеты на ходу меняются, то есть если слишком большой поток читателей, то приоритет у писателя, иначе наоборот. Но где этот алгоритм найти...
0
|
|
| 26.03.2012, 21:51 | |
|
ок, можно в принципе подумать. Интересно.
Есть, как было сказано, 2 способа. 1: читатели увеличивают счетчик при входе в критическую секцию, и уменьшает, когда выходит, а писатель ждет, когда счетчик станет нулем и только тогда начинает писать, после этого читатели ждут пока писатель не закончит. 2: читатели прекращают увеличивать счетчик, если писатель встал в ожидание и ждут, пока писатель не разлочится (когда выйдет из секции записи) Вот второй способ и можно изменить под приоритеты. Допустим у нас в ожидание впал писатель с приоритетом 1, значит любые читатель с приоритетом 0, либо 1 будут его ждать, а читатели с приоритетом 2 и выше могут увеличивать счетчик читателя... Но когда писатель начал писать, уже ни один читатель с любым приоритетом не может увеличить счетчик. я правильно понял задачу?
1
|
|
|
5 / 5 / 1
Регистрация: 30.07.2011
Сообщений: 257
|
||||||
| 27.03.2012, 21:10 [ТС] | ||||||
|
villu, впринципе так, только я не понял про нумарацию приоритетов. Идея такова, что если большой поток читателей, то приоритет у писателя. Как бы вот я делаю pthread_create на писателей и читателей так, чтобы одновременно забилась всё в очередь и выводился такой вот текст:
Писатель 1 подошёл к библиотеке. Писатель 2 подошёл к библиотеке. Читатель 1 подошёл к библиотеке. Читатель 2 подошёл к библиотеке.
После того как все подошли уже и они получили свою очередь там в памяти и программа уже по той очереди по которой они идут сама генерирует кому как идти
0
|
||||||
| 28.03.2012, 12:25 | |
|
Не по теме: Вчера писал-писал, а ворум сказал "Database error" ну так вот. Если есть очередь, то проблемы как бы совсем нет. В очередь становятся и писатели и читатели, причем читатели, идущие подряд допускаются все вместе, до следующего писателя, который допускается монопольно. Еще вариант, когда нет очереди. Но тут есть вариант присваивания приоритета "на лету" каждому пришедшему в зависимости от количества таких же (читателей или писателей). Сейчас подумаю как это покрасивее описать. А то в голове крутится, а вот русским языком это описать ...
0
|
|
| 28.03.2012, 12:25 | |
|
Помогаю со студенческими работами здесь
6
Автоопределение монитора Автоопределение кодировки
Автоопределение длины строки
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
1С: Программный отбор элементов справочника Номенклатура по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа.
В качестве фильтра для отбора справочника служит группа номенклатуры.
Отбор под наименованию группы (на. . .
|
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
|
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс.
Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
|
1С: Программный отбор элементов справочника Сотрудники по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа.
В качестве фильтра для отбора служит предопределенное значение перечислений.
Процедура. . .
|
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|