У меня есть программа на C, которая в настоящее время использует несколько потоков для обработки данных. Я использую glib GAsyncQueue для потоков производителей для отправки своих данных в потоки потребителей. Теперь мне нужно переместить потоки в независимые процессы, и я не уверен, как продолжить передачу данных между ними. Использование труб, похоже, не очень подходит для моей задачи, поскольку количество данных, которые выталкиваются, довольно велико. Другим вариантом является получение части разделяемой памяти, но, поскольку вычисление верхней границы количества общих данных немного затруднительно, этот вариант менее привлекателен.Общая очередь данных между процессами
Вы знаете что-то вроде GAsyncQueue, которое может использоваться с несколькими процессами? Поскольку я уже использую glib, я предпочитаю использовать его возможности, но я открыт для использования других библиотек, если они предоставляют то, что мне нужно.
Вы знаете, как работает RabbitMQ под нагрузкой? Может ли это обрабатывать, скажем, несколько сотен мегабайт в секунду тысяч сообщений? – Elektito
Извините, я никогда не толкал RabbitMQ за игрушечное использование ... – sarnold