问一个有关使用golang开发连接池的问题,该连接池使用get和put操作( <-chan和chan <- conn )将连接放置在缓冲信道中。
目前,还存在一个函数来检查连接是否定期有效。定期这样做,即取出支票并将其储存起来,但检查时是否会影响正常的获取和放置操作?
或者还有其他数据结构值得推荐?
非常感谢!
发布于 2018-07-31 08:38:53
..。检查时会影响正常的get和put操作吗?
因此,目前您从频道弹出一个连接,并检查它是否是实时的。在检查此连接时,池通道上的其他订阅者将无法使用该连接。
我想你是在问在你做这个检查的时候,这是否会影响任何并发操作?
我不认为它会这样,因为池的“用户”也必须从通道中弹出一个连接来使用连接。所以不应该发生并发操作。
当然,这取决于您有一个“Put”函数,该函数从通道弹出连接,执行命令,然后只在所有操作完成后才将其推回通道。
https://stackoverflow.com/questions/51604712
复制相似问题