|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.01.2013, 04:54 | #1 |
Пользователь
Регистрация: 29.05.2012
Сообщений: 59
|
Задача производителей-потребителей
Написать программу на С++, моделирующую задачу производителей-потребителей. Производителями и потребителями выступают потоки, созданные внутри одного, главного процесса (функция CreateThread). Также внутри процесса должен быть создан буфер, общий для всех потоков (функция HeapAlloc). Потоки-производители записывают новые данные в буфер, потоки-потребители считывают данные, удаляя их из буфера. Когда буфер переполнен, потоки-производители должны ждать, пока необходимое место для записи не освободится. Когда буфер пуст, потоки-потребители должны ждать, пока в нём не появятся новые данные. Доступ к буферу должен быть синхронизован (только один поток может им пользоваться в один момент времени) с помощью какого-либо примитива синхронизации, например, - мьютекса (создание мьютекса - функция CreateMutex). Количество потоков и количество единиц данных, которые они запишут в буфер либо считают из него, выбирается по собственному усмотрению.
|
17.01.2013, 11:13 | #2 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Используйте мютексы. Или семафоры. Как я понял, остальное проблем не составляет.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задача по подсчёту статистики использования букв. Другая задача - по длинной арифметике Pascal ABC | kimberly | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 24.12.2012 17:03 |
Задача на оптимальный расчет маршрута (задача в презентации) в табличном процессоре Excel | Toofed | Помощь студентам | 0 | 30.11.2011 01:12 |
Защита прав потребителей. | crazy horse | Свободное общение | 6 | 31.10.2011 08:00 |
Нарушение прав потребителей | Blade | Свободное общение | 7 | 07.07.2011 23:31 |
Задача минимизации дисбаланса на линии сборки (задача минимакса) | LenZab | Microsoft Office Excel | 13 | 13.03.2011 22:51 |