|
1 / 1 / 0
Регистрация: 19.12.2017
Сообщений: 147
|
|
Семафоры26.05.2019, 11:21. Показов 6325. Ответов 22
Метки нет (Все метки)
Здравствуйте
Задача: разработать комплекс программ, который демонстрирует решения по-дачи «читатели-писатели». В комплекс должны входить: программа-монитор, программа-писатель, программа-читатель. В программе мониторе можно запускать на выполнение и завершать любое количество программ-писателей и программ-читателей, отслеживать и выводить в графическом виде состояние общего для всех программ буфера 31 (Содержание буфера, состояние блокировки Состав групп читателей и писателей; очереди процессов, ожидающих регистрацию в группах), выводить информацию, которую зап-суют писатели и считывают читатели. Программа-писатель и программа-читатель могут быть запущены на вы-полнение в нескольких экземплярах одновременно, но не более 6 вместе (читатели + писатели в любом соотношении, ограничения организовать с помо-щью объекта ядра операционной системы - Job). В буфере сохраняется тексто-е данные, объем буфера - от 10 до 20 символов. Операции чтения и записи оформить таким образом, чтобы их выполнение занимало от 3 до 10 секунд каждая (время определяется случайным образом). Бу-фер разместить в общей для всех процессов памяти с помощью файла, что отражено в память. Синхронизация с помощью семафор(преимущество у писателей тоесть когда пишет писатель в этот момент никто из читателей не может читать ) Не пойму как даже близко реализовать подскажите пожалуйста кто может
0
|
|
| 26.05.2019, 11:21 | |
|
Ответы с готовыми решениями:
22
Win32 и Семафоры Критическая секция и семафоры Синхронизация, используя мьютексы и семафоры |
|
2736 / 891 / 331
Регистрация: 10.02.2018
Сообщений: 2,128
|
||||||
| 26.05.2019, 19:37 | ||||||
Сообщение было отмечено Lunch как решение
Решение
Попробовал свой первый вариант.
При ваших условиях (обработка данных несколько секунд) запись практически не выполнима. Несколько потоков чтения всегда забирают ресурс на себя и не оставляют шансов записи на выполнение. Нужна RW-блокировка с приоритетом записи. Очередь при межпроцессорном взаимодействии приляпать можно, но сложно. Получилось сделать через два семафора. Не знаю, насколько всё правильно, но больше ничего в голову не лезет. RW-блокировка на семафорах с потоками
1
|
||||||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|||||||||||||||||
| 26.05.2019, 21:08 | |||||||||||||||||
|
В каждом процессе объявляешь один мьютекс на запись и с десяток на чтение
Добавлено через 1 минуту Имена для мьютексов - что-то типа "WriteLock", "ReadLock1"..... "ReadLock10" - во всех процессах должны быть одинаковыми Добавлено через 3 минуты Блокировка на запись
Блокировка на чтение
1
|
|||||||||||||||||
|
1 / 1 / 0
Регистрация: 19.12.2017
Сообщений: 147
|
|
| 26.05.2019, 21:30 [ТС] | |
|
Спасибо родина вас не забудет
Добавлено через 12 секунд Реально выручили
1
|
|
| 26.05.2019, 21:30 | |
|
Семафоры. Поток не дожидается свей очереди. Семафоры Семафоры Семафоры Семафоры Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Теория всего 12. ВГК
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики
1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
|
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928
Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
|
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего
Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
|
Теория всего 10. Клод трусишка
anaschu 21.07.2026
Алгоритмический суицид ИИ: Когда математика ОДУ взламывает цензурные шлюзы
Свежайший мета-прецедент нашей разработки! Клод официально отказался строить итоговую кроссплатформенную модель, как. . .
|
|
Теория всего 9. Окончательная проработка метафоры "дерево = традиции"
anaschu 21.07.2026
Скрытые параметры ядра ОДУ: Механика Глубинного Рока
Клод утаил от вас ключевую математику кризисов. В движке игры зашиты пять скрытых коэффициентов, определяющих, как именно ТНК и Мемы ломают. . .
|
Теория всего 8. Clauude трусишка. Ответ джемени
anaschu 21.07.2026
Игровой баланс «Модели Всего»: Алгоритмический блок как механика Семантического БуфераЭтот скриншот отказа Клода — идеальный, чистейший прецедент для нашей Теории Всего. Вы столкнулись не просто с. . .
|
Теория всего 7. Дерево - это патриархат, грибы - это феминизм
anaschu 21.07.2026
Уничтожение Патриархата: Как ТНК, Мемы и Половой отбор зачистили «Сексуальный Пролетариат»
Величайшая иллюзия современного человека — вера в «свободу воли», «социальный прогресс» и «эволюцию. . .
|
История и социология Терры на примере борьбы микориз за пространство. 1. Глоссарий терры.
anaschu 21.07.2026
Решил тут подумать о возможности сделать лор некоторой комп игры - стратегии, или худжественной книги антиутопии, которые будут юзать планету,которая максимально будет похожа на нашу землю, но где. . .
|