Каждый поток выполняет код синхронно. Потоку дается больше работы после завершения текущего распределения работы.
Относительно того, почему одновременно может быть только один «активный» метод, метод может вызывать другие методы или возвращать. Как только метод вернулся, он, очевидно, больше не активен, аналогично, когда метод вызывает другой, вызываемый метод становится активным.