多个线程可以使用相同的java.sql.Connection同时向数据库发送查询吗?所有线程都会同时使用该连接。
如果从单例类获得连接,上述情况是否仍然可以?
答案 0 :(得分:2)
是的,这是可能的,但我建议您实现一些连接池 - c3p0是非常受欢迎的选项。
答案 1 :(得分:1)
不,java.sql.Connection
不是线程安全的。想象一个线程发出命令,而另一个命令执行回滚。即使它完全有效,上一个命令也会回滚。或者一个线程执行命令而另一个线程关闭连接。
然而!创建多个连接没有问题! SQL服务器旨在处理大量异步连接。不要重新发明轮子并在应用程序中同步数据库访问,而是使用数据库本身中的同步机制。