Рассмотрим задачу использования кольцевого буфера - Ответ на вопрос по информатике №1129683
-42%
Вопрос
Рассмотрим задачу использования кольцевого буфера (задача "поставщик-потребитель"). Функции AddItemToBuffer и RemoveItemFromBuffer модифицируют структуру данных, разделяемую поставщиком и потребителем, и не используют синхронизацию. Предположим, что программа может выполняться как на однопроцессорных, так и на многопроцессорных системах, и одновременно могут выполняться несколько потоков-поставщиков и потоков-потребителей. Укажите, является ли решение корректным (всегда работает), или (2) некорректным (никогда не работает), или (3) опасным (в одних случаях работает, в других – нет). Semaphore Empty = N; // Буфер содержит N записейFull = 0;() { Empty.P(); DisableInterrupts(); AddItemToBuffer(); EnableInterrupts(); Full.V();}() { Full.P(); DisableInterrupts(); RemoveItemFromBuffer(); EnableInterrupts(); Empty.V();}- приведенное решение некорректно
- приведенное решение корректно
- приведенное решение опасно
Ответ
Этот вопрос в коллекциях
-20%

🎓 Поможем сдать всё — тесты, практику, экзамены, курсовые, дипломы, отчёты! Закроем долги под ключ 🔑 Ведём от первой сессии до диплома 🏆 Работаем с Синергией, МЭИ и другими вузами 🤝 Гарантия результата или возврат денег 💰 Пиши! 🚀
















