日期:2014-05-20  浏览次数:20643 次

问一个多线程情况下的数据库操作是否需要线程lock的问题
在做一个程序,executorService动态产生多个Runnable线程
每个线程都有可能执行Sqlserver写入操作,现在sqlserver只有一个连接
也就是多个线程公用一个sqlserver连接
这种情况下线程在对sqlserver写入的时候需要先lock,等执行完后再unlock吗?

请各位高手指教,谢谢
------解决方案--------------------
不需要,JDBC的Connection对象本身是线程安全的,在多线程执行任务的时候会将任务放在执行队列里,按照入队顺序执行,不会发生冲突