If shared service is free and queue 2 has a message, it will process that message. Even if a shared service is consuming a message from queue1, and its completed the processing, it will process the queue2 message.
My issue is that if queue1 and queue2 have messages, the shared service will process queue1 message and also hold message from queue2 as well. Once the first message processing is done, it will process this message. If the shared service is not holding the queue2 message, individual service 2 can process that message. Due to that, it's delaying the message processing.
How we can avoid holding messages while the Windows service is processing another message so that other consumers can get the message?