Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
可能重复: java.sql.Connection 线程安全吗?
多个线程可以使用同一个 java.sql.Connection 同时向数据库发送查询吗?所有线程将同时使用该连接。
如果连接是从单例类获得的,上述情况是否仍然可能?
是的,这是可能的,但我建议您实现一些连接池 - c3p0 是非常流行的选项。
不,java.sql.Connection不是线程安全的。想象一个线程发出一个命令,而另一个命令执行回滚。即使之前的命令完全有效,它也会被回滚。或者一个线程执行命令,而另一个线程关闭连接。
java.sql.Connection
然而!创建多个连接没有问题!SQL 服务器旨在处理大量异步连接。与其在应用程序中重新发明轮子和同步数据库访问,不如在数据库本身中使用同步机制。