用协程来写异步调用,代码确实好看,不过还是担心驾驭不了。
对于变量的循环引用,分 2 种情况:
1
Leviathann 2023-05-21 01:02:03 +08:00
循环引用,有什么问题
rust ? |
2
James369 OP @Leviathann
就是在 swift 中,异步的回调闭包的使用中,如果对象对闭包的强引用 和 闭包中对对象的强引用(此处一般要 weak 进行弱化,不然可能构成循环引用),导致内存无法释放的问题。 但是,如果用了协程来进行调用时,我不确定闭包以什么方式工作,所以不确定是否也存在这样的问题? |
3
neoblackcap 2023-05-21 16:44:17 +08:00
@James369 go 的垃圾回收是 tracing gc ,会 stop the world 然后扫描内存,该类型垃圾回收算法没有环形引用导致无法进行内存回收的问题。
|