Description
Product: Tarantool
Audience/target: dev
Root document: https://www.tarantool.io/ru/doc/latest/reference/reference_lua/fiber/
SME: @ alyapunov
Details
More detailed info from the reporter:
"это работает, только если файбер был создан с помощью fiber.new() и стал доступным для присоединения путем fiber_object:set_joinable()." -- ошибочная информация
На самом деле join вместе с create() работает, и это более удобно, когда нужно запустить несколько файберов и дождаться результатов.
Не раскрыто, что убдет с join, если файбер уже успел выйти (ответ - все ок). Что будет, если вызвать join дважды (ответ - все упадет)
<…>.
Сейчас можно передать управление.Вызов fiber_object:join().
|Как правило, следует вызвать fiber_object:join(), в противном случае, статус файбера может перейти в „suspended“ (приостановлен) после выполнения функции, а не „dead“ (недоступен).|Параметры:
true_or_false – логическое значение, которое и<…>
https://www.tarantool.io/ru/doc/latest/reference/reference_lua/fiber/#fiber-object-set-joinable
Очень размытая формулировка. "Как правило" вообще убивает.
"может перейти в suspended". А может - и не перейти?
От чего это зависит, в какой ситуации будет какой расклад?