Я использую System V Message Queue, которая не имеет функции «таймерного приема», как POSIX MQ.Но теперь мне это нужно (это приурочено получать func.).
Можно спросить: «так почему бы вам не использовать POSIX вместо Sys V?».Потому что в моих тестах SysV MQ был на + - 20% быстрее, чем POSIX MQ.
Теперь вопрос.Как подделать «синхронизированное получение» для Sys V MQ?
Я написал фрагмент кода, который проверяет msgrcv
с IPC_NOWAIT
в цикле с usleep
.Я думаю, что это некрасиво, поэтому мне нужны идеи, чтобы написать красивый =]