Метод join в классе Thread в Ruby блокирует выполнение текущего потока до тех пор, пока поток, на котором вызван join, не завершит свое выполнение (либо не выбросит исключение).
Основные аспекты:
join возвращает сам объект потока, на котором он был вызван.join вернёт false. Без таймаута join ждёт бесконечно.ruby