由于一般的内存需求和安装方面的开销非常小/推倒围棋程序的成本。即使实现一个线程(去例行程序)工作池也是相关的吗?什么时候你会考虑使用线程池而不是每个请求产生一个去程序?“线程池”与Go相关吗?
-1
A
回答
2
产卵并保持大量的够程在golang是便宜,但它不是免费的。
你应该还记得够程本身可能很便宜,但在同一时间大量的内存可以的够程代码中进行分配。所以你可能想限制同时运行的goroutines的数量。
您可以使用旗语来限制资源。 另一种方法(比较习惯)是使用具有工作池的执行流水线。这种模式在golang blog中有很好的描述。
1
是的,这是相关的。 db/sql由于建立新的连接需要时间而使用到数据库的连接池。
+1
这与主题略有不同 - 池化数据库连接与线程池并不完全相同。 –
相关问题
- 1. CPU时间与超线程相关吗?
- 2. 相关任务的线程池
- 3. Go bytes.Buffer线程安全吗?
- 4. 线程与NSAutorelease池有什么关系?
- 5. 通过线程池处理器相关性和线程创建
- 6. 线程池与BlockingCollection
- 7. C++:线程池比单线程慢吗?
- 8. 无法关闭线程池
- 9. 与线程池链责任
- 10. 与线程池的问题
- 11. 线程池死锁与Task.Result
- 12. 与同一过程相关的线程
- 13. PHP pthread与POSIX线程相同吗?
- 14. 与ntp同步相关的JDBC池?
- 15. Android-与线程相关的崩溃
- 16. 与事件调度线程相关
- 17. 句柄如何与线程相关?
- 18. 使用相同对象的线程池
- 19. Python asyncio使用线程池吗?
- 20. 播放2线程池:默认池VS阿卡池与Java
- 21. 线程池中的线程
- 22. 线程池最大线程
- 23. ASP.Net中的线程池定期关闭
- 24. 示例有关线程池的JAVA
- 25. 多处理线程池关闭,超时
- 26. 有关C#线程池的帮助
- 27. C#,有关线程池的问题
- 28. boost线程池
- 29. Servlet线程池
- 30. Windows线程池
如果您使用的是阻塞IO,你应该考虑使用线程池,而不是够程的。 – ymonad
@ymonad,你是什么意思通过阻止IO?在Go中,所有IO都是阻塞的,这就是它的并发模型的全部。如果你的意思是文件IO,它在内部与网络IO有很大不同,那么问题根本不在于goroutines。这是关于等待系统调用返回的实际OS线程。 – creker
@crecker我的意图是,就使用go的非阻塞网络库而言,您将得到goroutine的M:N线程模型的好处,但是,当您使用阻止IO的系统调用时,go scheduler每个goroutine创建一个线程,所以使用线程池可能是一个选项。 https://groups.google.com/forum/#!topic/golang-nuts/Luje-okL4jI – ymonad