Queue and several receiver

ebookaktiv wrote on Sunday, December 14, 2008:

1) Is it possible to have more than one sender for the same queue. My opinion Yes it should be possible. The messages will be stored inside the buffer.

2) Is it possible to have more than one reciever for the same queue? My opinion NO, because = who shoul take the message is more than one task are able to receive the message.

Thank you for your contribution

davedoors wrote on Sunday, December 14, 2008:

Answers -

1) Yes.
2) Yes.

The reason the answer to question 2 is yes is because tasks are blocked in priority order. If more than one task is blocked on the same queue then the higher priority task will be the task that receives the next data. If both (or more) tasks have the same priority then the first task to block will be the first task to receive the data.

ebookaktiv wrote on Sunday, December 14, 2008:

Thank you for the answer :slight_smile:

ebookaktiv wrote on Sunday, December 14, 2008:

If i want to send one and the same message to three receiver task than i have to generate three queues and send the same message in every queue?

woops_ wrote on Sunday, December 14, 2008:

or you could have two tasks peek the queue and one receive the queue as long as the peeking tasks are higher priority so they wake first.

ebookaktiv wrote on Tuesday, December 16, 2008:

I will write an eBook about FreeRTOS on www.ebookaktiv.de and www.ebooksmechatronic.com

First time in german language but next year it will be translated to english.

rtel wrote on Tuesday, December 16, 2008:

I’m a fare way down the route of writing some more comprehensive and printable documentation, but unfortunately time constraints mean it will be a little while before this is published.

Regards.