Golang插件热重载

时间:2017-06-29 15:43:01

标签: linux go plugins reload

我试图在Golang中重新加载一个插件,我正在使用Go 1.8。我尝试再次打开插件但是没有用(Open打开一个Go插件。如果已经打开了一个路径,那么返回现有的*插件。多个goroutine可以安全地同时使用它。 - Go插件打开文档)。我想知道是否可以在不重新运行服务器的情况下重新加载?

this

1 个答案:

答案 0 :(得分:2)

据我所知,这是不可能的,因为go无法卸载共享库。在插件中创建了一些对象,并从程序中引用它时,它无法进行垃圾收集。请参阅此问题:https://github.com/golang/go/issues/11100