java.sql.Connection线程安全吗?重新解释一下这个问题:我应该避免共享java.sql.Connection在不同线程之间实现的类的实例吗?
3 回答
慕运维8079593
TA贡献1876条经验 获得超5个赞
如果JDBC驱动程序是规范兼容的,那么技术上是,该对象是线程安全的,但是你应该避免在线程之间共享连接,因为连接上的活动意味着一次只有一个线程可以做任何事情。
您应该使用连接池(如Apache Commons DBCP)来确保每个线程都有自己的连接。
RISEBY
TA贡献1856条经验 获得超5个赞
java.sql.Connection是一个接口。因此,这一切都取决于驱动程序的实现,但通常应避免在不同线程之间共享相同的连接并使用连接池。此外,还建议池中的连接数高于工作线程数。
翻翻过去那场雪
TA贡献2065条经验 获得超14个赞
这是一个旧线程,但对于那些正在寻找有关Microsoft SQL Server的答案的人来说,这里是答案:
SQLServerConnection不是线程安全的,但是从单个连接创建的多个语句可以在并发线程中同时处理。
和
SQLServerConnection实现与SQL Server的JDBC连接。
综上所述,您可以共享语句而不是Connections,如果您需要在每个线程中建立连接,您可以使用线程池。
添加回答
举报
0/150
提交
取消