Что делать после выхода из середины волокна - PullRequest
3 голосов
/ 21 марта 2012

Как только я закончу работу с экземпляром Fiber fiber, т. Е. Я yield удалил его, не завершив его, и я больше не использую fiber, что мне с ним делать?Должен ли я явно уничтожить его, или есть что-то вроде kill для волокна, или это будет сборка мусора должным образом?Если это так, то как Руби узнает, собираюсь ли я в fiber.resume в будущем или нет?

1 Ответ

0 голосов
/ 21 марта 2012

Вам не нужно убивать его, если он уже мертв; yield из волокна сделает работу. Вам просто нужно убедиться, что экземпляр волокна не хранится ни в одной переменной. Вот как вы их «освобождаете»: сборщик мусора работает, периодически уничтожая объекты без каких-либо ссылок на них. Если вы сохраните волокно в какой-либо переменной, оно останется в памяти, пока вы не сделаете его недоступным.

...