|
1 / 1 / 0
Регистрация: 19.12.2017
Сообщений: 147
|
|
Семафоры26.05.2019, 11:21. Показов 6321. Ответов 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 | |
|
Семафоры. Поток не дожидается свей очереди. Семафоры Семафоры Семафоры Семафоры Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
|
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы
## О чём эта статья
В процессе построения ОДУ-модели (система дифференциальных. . .
|
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет)
Содержание проекта
Симуляция вековой (50 лет) экологической сукцессии в почве леса
Основные участники: АМ-гриб, ЭКМ-гриб,. . .
|
сукцессия 23. Более физиологичная физиология, более экологичная экология, более диффурные диффуры.
anaschu 12.07.2026
Что реально нашли и починили за эти 5 часов
Правило Линдемана (КПД конверсии сахара в тело, kEff) — раньше 100% полученного углерода шло прямо в биомассу гриба; теперь только kEff=0. 5 (после. . .
|
|
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация
В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
|
Сукцессия 20. Война автоботов. Делаем ставки. Лёд против "пш-пш!".
anaschu 11.07.2026
Битва ИИ в ризосфере: Как мы скрестили жесткие ОДУ, закон Фика и «подземный шантаж»
Уважаемые коллеги!
Хочу поделиться уникальным опытом ведения междисциплинарной компьютерной разработки. Прямо. . .
|
Сукцессия 19. Какие выводы я сделал из модели? Часть 2.Внутримикоризный стехиометрический буфер и хроно-дискретные зоны экспансии
anaschu 11.07.2026
Био-Инженерный Ликбез: Архитектура Модели Ризосферы
Математический аппарат моделирования
|
Сукцессия 18. Какие выводы я сделал из войны грибов с деревьями? Часть 1- рассказ и немного про термины
anaschu 11.07.2026
Био-Инженерный Ликбез: Архитектура Модели Ризосферы
Математический аппарат моделирования
Система ОДУ описывает динамику изменения массы различных компонентов системы во времени. Ключевой. . .
|