當沒有變量指向對象時,對象中是否會發生任何特殊情況?除了有資格進行垃圾回收之外,也就是說。當沒有對它們的引用時,有沒有什麼特別的事情發生在對象上?
例如,目前,IO對象自動關閉when they're garbage collected,如果他們還沒有這樣做。即使你想改變這種行爲,也沒有辦法改變它,所以當沒有更多的變量指向對象時會發生自動關閉,是嗎?
(我的問題是一個小小的簡化:WeakRef允許變量指向對象,並使它們成爲垃圾收集的目標。另外,可以訪問沒有任何指向它們的變量的對象,對於某些實現通過使用ObjectSpace。關於IO對象,有一些東西,例如IO.open(&block)
,在塊被執行後自動關閉IO對象。)
作爲回報,我的問題是,有沒有你正在解決的問題,或者是這個學術/好奇心?我希望看到一些代碼示例顯示問題/好奇心。 –
如果需要,可以關閉GC。 –
@theTinMan我試圖回答評論在http://stackoverflow.com/questions/764134/rubys-yield-feature-in-relation-to-computer-science/764862#comment18672522_764862,我只有95%肯定我對評論的迴應。 –