singlepost

Каноническая задача поставщиков и потребителей (c, потоки, циклический буфер) << На главную или назад  

Собственно суть задачи в том, что есть некий циклический буфер, к нему обращаютсяпотоки 2х видов
поставщики - которые заполняют буфер
потребители - которые опустошают его.

У буфера есть 2 курсора, один указывает в какую клетку заполнять,
другой указывает из какой клетки забирать.
Может кто сталкивался с такой задачей? есть решение? )

21 ответов в теме “Каноническая задача поставщиков и потребителей (c, потоки, циклический буфер)”

  1. 1
    Василий Степанов ответил:

    std::streambuf
    с реализацией, к примеру, std::stringbuf

  2. 2
    Александр Новиков ответил:

    немного не понял, поясните плиз)

  3. 3
    Василий Степанов ответил:

    Посмотрите на реализацию и механику работы std::streambuf
    http://www.cplusplus.com/reference/iostream/streambuf/

    и, если конечно нужно кровь из носа на Си, то сделайте так же :)

  4. 4
    Евгений Баталов ответил:

    Если здесь требуется смоделировать работу, то можно использовать языки для имитационного моделирования. Нам в универе давали gpss. Иначе реализация произвольная, на произвольном языке, с двумя-тремя потоками, таймерами и глобальной переменной-буфером (стэк, очередь,произвольная реализация).

  5. 5
    Александр Новиков ответил:

    моделировать не надо) надо и проще и сложнее одновременно)
    за реализацию спасибо, попробую глянуть

  6. 6
    Алексей Авраменко ответил:

    Джерри Кейн хорошо обьяснил эту проблему на лекции Стэнфордского универа и показал реализацию на си)
    http://academicearth.org/lectures/semaphores

  7. 7
    Владимир Стебунов ответил:

    ну и на русском http://www.intuit.ru/department/se/parallprog/11/3.html

  8. 8
    Александр Новиков ответил:

    огромное спасибо! теперь понимаю задачу полно ясно и с концепцией :)

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.