因为就存储器需求和Go例程建立/拆除成本而言,它通常是非常小的开销。实现线程(go例程)工作池是否相关?什么时候你会考虑使用线程池,而不是为每个请求‘衍生’一个go例程?
发布于 2017-02-05 10:16:45
在golang中产卵和保存大量的goroutine是很便宜的,但这并不是免费的。
此外,您应该记住,goroutine本身可能非常便宜,但同时可以在goroutine代码中分配大量内存。因此,您可能希望限制并发运行的goroutines的数量。
您可以使用信号量来限制资源。另一种方法(go更常用)是使用带有工作池的执行流水线。这个模式在golang blog中有很好的描述。
发布于 2017-02-05 19:36:12
是的,这是相关的。db/sql使用连接池连接到数据库,因为建立新连接需要时间。
https://stackoverflow.com/questions/42047678
复制相似问题