多线程应用程序是否适合每1个连接客户端使用1个连接?对我来说似乎无效但是如果没有连接池,当一个人想让每个连接与DB通信时怎么办呢? 感谢
答案 0 :(得分:0)
这取决于您的架构。
听起来你正在使用服务器 - >分布式客户端模型?在这种情况下,我将实现某种用于数据库访问的层,并隐藏数据访问外观后面的连接池等。
答案 1 :(得分:0)
如果您决定在线程之间共享连接,则需要确保一个线程在另一个线程完全使用之前完成连接(使用互斥锁,信号量或临界区来保护连接)。或者,您可以编写自己的连接池。这并不像听起来那么难......在启动时建立10个连接(或者你的池需要很大)并根据需要分配/解除分配。再次使用互斥锁/ cs / sema保护。