看板 C_Sharp 關於我們 聯絡資訊
最近寫C#遇到一個情況 假如我有個public class Foo{ void OnCompleteCallBack(object sender, EventArg e) {...} } 我在某local的scope下寫 { Foo f = new Foo(); SaveFile(f.CallBack); // f = null; } 離開這scope了 SaveFile裡面其實會馬上開一個Thread 做存檔 但是可能會花個10秒 這時我要是f遭到GC 會不會造成SaveFile裡面存完檔案trigger我的function 無效 甚至造成很嚴重的問題呢??? 我如果把f = null;打開 應該會更快的做GC吧? 我這邊觀念不是很清楚.... 他callback會不會回不來@@ 請教各位 感激~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.192.70.221
optimist9266:執行個體只要還在用就不會被CLR回收 11/19 05:24
dk3208:印象中即便f=null也不會加速GC的時間,只要f在SafeFile內被 11/19 17:35
dk3208:reference就不會被回收 11/19 17:35