Итак, имеем следующую задачу. Один (или несколько) процессов вычитывают из сети сообщения. Несколько других процессов обрабатывают эти сообщения. Т.е. апи приблизительно такой -
- retcode_t push(void* data, int size);
- retcode_t pop(void* data, int max_size, int* size);
При том это все рабоатет на уровне сообщения. Т.е. если вставили тру кусочка по 100, 200, и 300 то и выберем 100, 200, 300 а не 600 одним куском.
Хотелось бы это сделать без блокировок. Писателей/читателей от 4 до 50