java.sql.Connection线程安全吗?

java.sql.Connection线程安全吗?

重新解释一下这个问题:我应该避免共享java.sql.Connection在不同线程之间实现的类的实例吗?



蛊毒传说
浏览 724回答 3
3回答

慕运维8079593

如果JDBC驱动程序是规范兼容的,那么技术上是,该对象是线程安全的,但是你应该避免在线程之间共享连接,因为连接上的活动意味着一次只有一个线程可以做任何事情。您应该使用连接池(如Apache Commons DBCP)来确保每个线程都有自己的连接。

RISEBY

java.sql.Connection是一个接口。因此,这一切都取决于驱动程序的实现,但通常应避免在不同线程之间共享相同的连接并使用连接池。此外,还建议池中的连接数高于工作线程数。

翻翻过去那场雪

这是一个旧线程,但对于那些正在寻找有关Microsoft SQL Server的答案的人来说,这里是答案:SQLServerConnection不是线程安全的,但是从单个连接创建的多个语句可以在并发线程中同时处理。和SQLServerConnection实现与SQL Server的JDBC连接。综上所述,您可以共享语句而不是Connections,如果您需要在每个线程中建立连接,您可以使用线程池。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java