我需要一種方法來跟蹤各種類的實例,而這些類沒有任何知識,他們正在被跟蹤。基本上,我有一個類工廠創建實例並將它們交給另一個線程。一旦該線程完成並卸載實例,我需要得到通知,以便在所有實例都不在時,可以執行引用計數並從我的類工廠退出。獲取對象處理/銷燬的通知
挑戰是我無法修改任何我將加載的類,因爲我不控制它們的源代碼。
跟蹤我創建的實例很簡單,我可以在創建它們時將它們放入某種集合中。跟蹤他們的破壞會導致我的問題。如果我可以修改源代碼,我會爲每個類添加一個事件,並且當我創建一個實例時,我會掛鉤該事件並將其用作我的通知。但我不能那樣做。
所以,問題是這樣的:是否有一種偷偷摸摸的方式來監視對象實例並檢測它何時被銷燬?
+1這很有趣 - 我一直在想同樣的東西,直到我看到他說他控制着物體構造的那個部分;) – 2010-07-16 18:41:27
這實際上看起來好像它可能是我的情況下最可行的解決方案,我會試試這個。 – 2010-07-19 13:45:30
我比Reed更喜歡你的,因爲這意味着這些類型的客戶不需要知道特殊的裝飾類型 – 2017-09-23 18:53:58