I need a little input on how to accomplish this. My project is structured as follows :
Input A - Thread Input A -----+
Input B - Thread Input B -----+
Input C - Thread Input C -----+----- Thread Output A - Output A
Input D - Thread Input D -----+----- Thread Output B - Output B
Input E - Thread Input E -----+----- Thread Output C - Output C
Input F - Thread Input F -----+----- Thread Output D - Output D
Input G - Thread Input G -----+
Input H - Thread Input H -----+
Thread Input X running the same code on different input.
Thread Output X running the same code on different output.
I have to be able to send from one Thread Input X an event / message or another
to all Thread Output X (also not in the same instant).
In my first approach I used a message queue. In Thread Output X I have create 4
message queue on which the Thread Input X write (Thread Output X only read).
On event in Thread Input X I write the same message on all 4 message queue, but
it does not seem like the ideal solution.
What technique can I use ? Event Group ?
Thanks for any suggestions.
How detailed is the event? If it can be conveyed as a single bit then an event group would let all the tasks block on the same bits in the same event group with each bit having a different meaning.
How detailed is the event?
Yes, a single bit is sufficient.
Then with an EventGroup of 4-bit size I should be able to simplify things.
I create one EventGroup with 4-bit size, each Thread Input X writes the corresponding bit to wake up Thread Output X. On Thread Output X waiting an EventGroup on single bit.
It should go, I try.
Thanks very much.