-3

可能重复:
java.sql.Connection 线程安全吗?

多个线程可以使用同一个 java.sql.Connection 同时向数据库发送查询吗?所有线程将同时使用该连接。

如果连接是从单例类获得的,上述情况是否仍然可能?

4

2 回答 2

2

是的,这是可能的,但我建议您实现一些连接池 - c3p0 是非常流行的选项。

于 2012-12-20T08:35:55.673 回答
1

不,java.sql.Connection不是线程安全的。想象一个线程发出一个命令,而另一个命令执行回滚。即使之前的命令完全有效,它也会被回滚。或者一个线程执行命令,而另一个线程关闭连接。

然而!创建多个连接没有问题!SQL 服务器旨在处理大量异步连接。与其在应用程序中重新发明轮子和同步数据库访问,不如在数据库本身中使用同步机制。

于 2012-12-20T08:37:32.887 回答