@igsavenko

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

Доброе время суток,
Хочу разобраться с межпроцессным взаимодействие в Unix-подобных системах. И хотел бы что-нибудь реализовать для понимания на языке С++. Не могли бы вы мне посоветовать возможные варианты простейших программ, на которых бы потренировался использовать мьютексы, семафоры, разделенную память? И какую-нибудь литературу по этой тематике. Мне понравилась статья которую нашел на хабре.
  • Вопрос задан
  • 2692 просмотра
Пригласить эксперта
Ответы на вопрос 1
ntkt
@ntkt
Потомственный рыцарь клавиатуры и паяльника
Попробуйте реализовать многопоточный сервер сферической числодробилки в вакууме. Факторизация небольших чисел, например, ну или просто случайная задержка порядка 100-1000 мс.

Несколько сетевых процессов-слушателей (каждый может держать только несколько соединений с клиентами), несколько процессов-счетчиков, выполняющих факторизацию, watchdog, который за ними следит, чтобы никто не упал ненароком, и демон, который всех запускает или гасит.
У Вас будет и разделяемая память для хранения базы малых простых чисел, и кольцевой буфер для обмена между "фронтом" и "бэком", и т.д.

Можно заменить сферическую числодробилку на сферическую работу с БД, например, доабвив также дополнительный слой connection pool и процессов, его обслуживающих.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы