Monitor the stack & queue
If stack is empty, get the next item from the
queue and put it in the stack
* Single-threaded
Engines implement & optimize differently