连接池
C#客户端暴露的所有接口均为异步接口。使用C#客户端从首先建立一个SessionPool开始,建立SessionPool时需要指定服务器的IP 、Port 以及 SessionPool的大小,SessionPool的大小代表本地与服务器建立的连接的数目。为了实现并发客户端请求,客户端提供了针对原生接口的连接池(SessionPool
),由于SessionPool
本身为Session
的超集,当SessionPool
的pool_size
参数设置为1时,退化为原来的Session
客户端 使用ConcurrentQueue
数据结构封装了一个客户端队列,以维护与服务端的多个连接,当调用Open()
接口时,会在该队列中创建指定个数的客户端,同时通过System.Threading.Monitor
类实现对队列的同步访问。
当请求发生时,会尝试从连接池中寻找一个空闲的客户端连接,如果没有空闲连接,那么程序将需要等待直到有空闲连接
当一个连接被用完后,他会自动返回池中等待下次被使用
在使用连接池后,客户端的并发性能提升明显,这篇文档展示了使用线程池比起单线程所带来的性能提升
标签:空闲,23,SessionPool,笔记,接口,2023,连接,连接池,客户端 From: https://www.cnblogs.com/nanlinyan/p/17065032.html