Golang 垃圾回收和 SetFinalizer
warning:
这篇文章距离上次修改已过224天,其中的内容可能已经有所变动。
这段代码首先定义了一个结构体SampleResource
,包含资源标识和一个用于同步的通道。然后实现了一个创建资源的函数和一个释放资源的方法Close
。在main
函数中,我们创建了一个SampleResource
实例,并通过SetFinalizer
设置了一个finalizer函数Stop
,该函数在资源垃圾收集时会被调用。这样,即使资源被提前关闭了,如果垃圾收集器运行,Stop
方法也会被调用,从而可以进行一些清理工作。
评论已关闭