Существует класс Ruby Timeout
, который завершает выполнение блока через определенное количество секунд:
Timeout.timeout(5) {
# Some long-running code...
}
Проблема в том, что каждый раз, когда я звоню timeout()
, запускается новый Thread
. Это довольно дорогая (время и память) операция. Было бы гораздо эффективнее повторно использовать существующий поток. Есть ли для этого драгоценные камни?