Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.01.2013, 04:54   #1
bestnicer
Пользователь
 
Аватар для bestnicer
 
Регистрация: 29.05.2012
Сообщений: 59
Восклицание Задача производителей-потребителей

Написать программу на С++, моделирующую задачу производителей-потребителей. Производителями и потребителями выступают потоки, созданные внутри одного, главного процесса (функция CreateThread). Также внутри процесса должен быть создан буфер, общий для всех потоков (функция HeapAlloc). Потоки-производители записывают новые данные в буфер, потоки-потребители считывают данные, удаляя их из буфера. Когда буфер переполнен, потоки-производители должны ждать, пока необходимое место для записи не освободится. Когда буфер пуст, потоки-потребители должны ждать, пока в нём не появятся новые данные. Доступ к буферу должен быть синхронизован (только один поток может им пользоваться в один момент времени) с помощью какого-либо примитива синхронизации, например, - мьютекса (создание мьютекса - функция CreateMutex). Количество потоков и количество единиц данных, которые они запишут в буфер либо считают из него, выбирается по собственному усмотрению.
bestnicer вне форума Ответить с цитированием
Старый 17.01.2013, 11:13   #2
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Используйте мютексы. Или семафоры. Как я понял, остальное проблем не составляет.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача по подсчёту статистики использования букв. Другая задача - по длинной арифметике 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