0 / 0 / 0
Регистрация: 16.12.2015
Сообщений: 1
1

Задача "читателя и писателя" с буферным пулом (динамическим массивом)

29.11.2017, 13:45. Показов 2117. Ответов 1

Студворк — интернет-сервис помощи студентам
Сама задача:
Рассмотрим взаимодействие двух потоков, один из которых пишет данные в буферный пул, а другой считывает их из пула. Буферный пул состоит из N буферов, каждый содержит одну запись. В общем случае поток-писатель и поток-читатель имеют разные скорости (длительности выполнения операция чтения и записи) и обращаются к пулу с переменной интенсивностью (начинают выполнять операции в случайные моменты времени с равномерным законом распределения). Для правильной работы поток-писатель приостанавливается, когда все буферы заняты, и переходит в активное состояние при наличии хотя бы одного свободного буфера. Поток-читатель приостанавливается, когда все буферы пусты, и активизируется, когда появляется, по крайней мере, одна запись.
Количество потоков-писателей и читателей, длительности операций чтения и записи, размер буферного пула устанавливаются пользователем.


Буферный пул в данном случае - динамический массив, если я верно понял преподавателя. По условию задачи поток-читатель и поток-писатель приостанавливаются в ожидании непустого и пустого буфера соответственно.

Каким образом реализовать проверку на наличие пустого-непустого буфера, чтобы активизировались потоки?
Каким образом передавать в поток-читатель или в поток-писатель адрес освободившегося буфера для работы с ним?

Основной принцип работы потоков схож с примером на википедии (тут), но можно решить и с 2 семафорами.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.11.2017, 13:45
Ответы с готовыми решениями:

Ошибка при синхронизации потоков. (Задача написать писателя-читателя)
Здравствуйте, уважаемые программисты. Есть задача написать программу писатель-читатель. Должно быть...

2 читателя, 2 писателя
Добрый день. У меня задача: читатели-писатели. У меня есть код, где 1 читатели и 1 писатель, но...

Есть ли ошибки в задаче читателя-писателя?
задача из билета, сравнивал с лекцией и пособием - не вижу ошибок, но не уверен в своих убеждениях....

Задача с динамическим массивом и файлом
Пытаюсь решить эту задачу В файле задан список сотрудников с указанием фамилии, отдела, названия...

Задача с динамическим массивом Pascal
В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) Сумму элементов массива...

1
874 / 535 / 175
Регистрация: 30.07.2015
Сообщений: 1,739
29.11.2017, 16:44 2
alexgugr, вы сейчас не принцип очереди описали?
0
29.11.2017, 16:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.11.2017, 16:44
Помогаю со студенческими работами здесь

Задача с итератором, динамическим массивом и считыванием с файла
К завтрашнему дню нужно иметь решение нескольких подобных задач. Кто может напишите программу с...

Задача на работу с динамическим массивом. HEAP CORRUPTION DETECTED
Не понимаю причину ошибки. Подскажите пожалуйста. // pmArray.cpp : Defines the entry point...

Проблема с динамическим массивом
Имею 2 динамических массива. Но если в 1 массиве запись данных и вывод на консоль осуществляются...

Проблема с динамическим массивом
Задача: В существующем текстовом файле найти самое короткое слово и вывести его на экран. Мой код:...

Работа с динамическим массивом
Консольный режим Delphi. В консольном режиме описать динамический массив, каждый элемент...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru