I already have the parts of "GatherInput", "DoLogic" and "Move" seperated in BGW. So far my GameLoop was run on the GUI thread, and it was hampered whenever I did some sole GUI-actions. So I reasoned the GameLoop should be on a different thread.
Using your technique, the GameLoop would be a "busy loop", but not a "busy wait" since its not waiting at all. To my understanding a "busy loop" shouldn't be used?
Are you suggesting to use such a "busy loop", or am I misunderstanding?