Go GC无法回收已失效弱指针问题求助
Go GC无法回收已失效弱指针问题求助
我最近在试着用Go 1.24新引入的弱指针(weak.Pointer)搭建一套系统,需要把弱指针以接口的形式传递。但碰到了个棘手的问题:weak.Pointer和它包装的强指针并不遵循同一个接口,没法直接替换使用。
为了解决这个问题,我自己写了一个包装器——它内部持有弱指针,同时实现了原指针对应的接口逻辑:当调用方法时,会把请求转发给被引用的对象;如果这个对象已经被GC回收了,就返回错误。
下面是我的代码实现:
// 注:原代码片段不完整,可补充完整代码内容后定位具体问题
内容来源于stack exchange
相关产品推荐
相关产品推荐

