池还有多个?!——多个和一个没有区别。
就一个连接池,目的是解决内外连接数量能力不对称;
所有次的概念都是如此,比如还有work线程池之类的。
实在要多个池也不是不可以,那么又需要池管理,整个结构会进一步复杂。
每个请求需要线程池中的线程去处理(一个客户端也可以同时发N个请求)
Ado.Net 多个客户端会共享一个连接池吗? 是的,应该是IIS只有一个线程池,或者每个网站只有一个线程池
因为线程是系统级别的,所以任何程序都是向系统申请的
但你问多个请求会共享一个线程吗?php jsp asp.net都是用一个线程去处理一个请求的(理论每个线程消耗4M内存)
nodejs,go则可以一个(系统)线程去处理多个请求(所以可以响应更多的请求),
监控:
vs调试
调试 → 窗口 → 线程
你要知道 调试有一个东西叫附加到线程啊
ado.net 连接池是透明机制 默认开启,对于一个库的默认连接数 是 100个连接
连接池为系统级别 好像是无法监控 但是你可以监控sqlserver
附连接:https://msdn.microsoft.com/zh-cn/library/8xx3tyca(v=vs.110).aspx
收回 上面的连接池是系统级别的 具体类实现是internal sealed class DbConnectionPool