Glad I could help. I don't want to disrespect your solution! You have basically implemented a spin lock, which is very high performance.
As long as you can afford to burn cpu cycles on the wait loop inside the worker, it is a good solution. Like all important engineering problems, it is a design trade-off.
