Метод yield()
служит причиной того, что поток переходит из состояния работающий (running) в состояние работоспособный (runnable), давая возможность другим потокам активизироваться. Но следующий выбранный для запуска поток может и не быть другим.
Метод sleep()
вызывает засыпание текущего потока на заданное время, состояние изменяется с работающий (running) на ожидающий (waiting).