一旦我在光纤实例[{1}}中间完成,即我fiber
编辑而没有完成它,我不再使用yield
,应该怎样我这样做?我应该明确销毁它,还是像fiber
这样的光纤,还是垃圾收集得当?如果是,那么Ruby如何知道我将来是否会去kill
?
答案 0 :(得分:0)
如果它已经死了,你不必杀死它;来自光纤的yield
将完成这项工作。您只需确保光纤实例不存储在任何变量中。这就是你“释放”它们的方式:垃圾收集器通过定期销毁对象而不引用它们来工作。如果你将光纤保留在一些变量中,它会留在内存中,直到你无法访问它为止。