我的程序采用多线程入库,在入库过程中需要对同一个状态字进行修改,以判断入库情况,以后读取这个状态字即可知道哪 个需要入库,哪个不需要。经过多次的试验,对这个状态字的修改总是出问题,很多时候状态字就没有更新,估计可能是多线程在同时读写那个字段时,导致的脏数据,请问这种现象如何解决。
解决方案 »
- package执行效率问题??????????????
- oracle 11g这是什么原因
- 求救:oracle9i 中long raw 数据无法实现表表转移
- (急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急)
- 请问个级联删除的问题
- 初學:ORACLE幾個小問題
- 有关oracle9i监听程序的问题
- 安装好oracle后,用system进去,老是提示说tns没有监听,怎么回事?在线急~!!!!!!!!!!!!!
- 那位老大成功安装oracle8.1.7 for redhat9 ,1000分购买安装过程!
- 我需要oracle8的资料,入门的,简单通俗的那种
- DBMS_OUTPUT的FLUSH问题
- OraOLEDB (0x80004005) 求解
用 for update 行锁锁住你要的那些行?
多线程不是很清楚,就数据库写入这块做下说明: 当对一个表进行修改时,数据库内存会采用排他锁的机制,这时表只能有由一个用户来进行写操作。 这个按楼主的意思,应该是楼主的一个线程来进行,也就是说,在同一时刻,对表只能由一个线程来进行写入。 所以在写入这块采用多线程意义不大.------------------------------------------------------------------------------
Blog: http://blog.csdn.net/tianlesoftware
网上资源: http://tianlesoftware.download.csdn.net
相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
Q Q 群:62697716
实在没法了。
每个线程在操作表之前查看tblstatus 的flag状态。如果为1的话马上flag状态更改了。然后再操作你要修改的表。表修改完再将tblstatus表中flag的状态改为0。