ODAC在多线程方式下的问题!!
特兰 2010-01-27 05:09:15 我写一个程序,多线程执行存储过程,当我故意将线程1的存储过程访问的数据UPDATE上锁后,
线程1的OraStoredProc.ExecProc进入等待状态,我继续进行操作,由于线程1被占用,线程2
启用,但是在添加参数或执行OraStoredProc时候,偶尔会出现操作好象被挂起的感觉,几十秒
到几分钟不等,不过依然可以执行过去,此现象经常出现在线程1被挂起后,线程2或线程3第一次
执行的时候,不过线程2/3第一次等待后就不再出现等待状况,不过重复操作几十到上百次又会发生。
程序最多3个线程,本来我为数据库操作建立了一个CLASS, 里面封装了3个OraSession+OraStoredProc,
后来我改变方法,class中只封装1个OraSession+OraStoredProc, 建立3个class的实例,还是状况依旧。
奇怪,是ODAC的BUG还是其它问题,请前辈们执教下多线程操作ODAC的注意事项。