Инфо IT 24

IT блог, IT мышление

Очередь сообщений

Очередь сообщенийКаждая очередь сообщений может использоваться несколькими процессами, помещающими сообщения в очередь и извлекающими их из очереди независимо друг от друга. При этом обычно каждый из процессов использует свой набор идентификаторов для сообщений. Однако, если несколько процессов используют один и тот же идентификатор, могут возникнуть ситуации, в которых сообщения разных отправителей будут перемешиваться.

Возможна ситуация, когда несколько процессов одновременно помещают в очередь два сообщения с одинаковыми идентификаторами. Порядок помещения этих сообщений в очередь будет произвольным и зависит от реализации ядра операционной системы.

Другая ситуация возникает в том случае, когда несколько процессов одновременно пытаются получить из очереди последнее сообщение с заданным идентификатором. Порядок выдачи сообщений процессам также не определен и зависит от реализации ядра ОС.

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

Статью опубликовал: i24TbloG

Метки:

Из каталога:

Программирование Linux Part C

Предыдущая статья:

Следующая статья: