Notice how telling Jos to sleep will make him sleep whether you want to enter the room or not but when he yields he doesn't enter only if you want to get into the room as well.
So concluding: yielding is asking all other threads (if present) if they want to do
something; if no other threads want to do something, I simply continue; if another
thread ayes my question, I pass the processor to the other thread. Note that it
doesn't matter whether or not something synchronized needs to happen; that
scenario still works as always.
kind regards,
Jos