请问下在不同的线程内使用同一个oracleConnection对象对数据库进行操作需要对连接对象进行lock吗,在不lock的情况下可以并发执行吗,是线程安全的吗,期待!

解决方案 »

  1.   

    没见过不同的线程调同一个连接的,但在TOAD里面似乎可以一边执行一个建表语句,一边进行update,然后同时还可以delete,只要操作的对象(此处为表)不同。从这一点看,应该是线程安全的。而操作同一对象,很可能会产生死锁,比如toad同时开两个窗口对同一个表update,然后都不commit,然后其他人想操作这个表,就完蛋了。关注。
      

  2.   

    哈,不知道上面toad里面的这种操作是不是线程的概念
      

  3.   


    连接对象指的什么,是session,还是指的session里操作的对象。如果是session,没有必要, 如果是操作里的对象也没有必要,数据库有lock机制
      

  4.   

    谢谢Inthirties和crazylaa的回答
    在程序中使用了一个连接对象,也就是Inthirties说的session,
    因为对不同的线程中都会去使用这个连接对象去insert或者update数据库,所以不知道多个线程同时使用这一个session时,是否线程安全,是否会有问题