3
一旦我在光纖實例fiber
的中間完成,即I yield
編輯完成後沒有完成,我不再使用fiber
,我該怎麼做用它做?我是否應該明確銷燬它,或者是否有類似kill
的光纖,或者它是否會被垃圾收集?如果是,那麼Ruby如何知道我將來是否會去fiber.resume
?在光纖中間退出後要做什麼
一旦我在光纖實例fiber
的中間完成,即I yield
編輯完成後沒有完成,我不再使用fiber
,我該怎麼做用它做?我是否應該明確銷燬它,或者是否有類似kill
的光纖,或者它是否會被垃圾收集?如果是,那麼Ruby如何知道我將來是否會去fiber.resume
?在光纖中間退出後要做什麼
如果它已經死了,你不必殺死它;來自光纖的yield
將完成這項工作。您只需確保光纖實例不存儲在任何變量中。這就是你「釋放」它們的方式:垃圾收集器的工作原理是定期銷燬對象而不引用它們。如果你將光纖放在一些變量中,它會一直留在內存中,直到無法訪問爲止。