Ну потоки тоже неудачное объяснение. И пример неудачный. Нужно
представить, что функции each, cb_body1 и cb_body2 находятся в
отдельном модуле и обслуживают какое-то свое устройство. each
выполняется и проверяет работу этого устройства, а в некоторых
случаях возвращает управление обратно в модуль.