多线程报错的问题 ( 积分: 50 )

  • 主题发起人 主题发起人 ygh1980
  • 开始时间 开始时间
Y

ygh1980

Unregistered / Unconfirmed
GUEST, unregistred user!
线程执行之后,在线程外再访问数据库,打开数据集的时候就会报错. 线程屏蔽掉后就正常,哪位大虾知道原因.谢谢!
 
同步问题,这不是线程同步,其实质是两个进程的同步,
你的打开数据集的进程和另外的线程中所开的访问数据库这个进程的同步。
你先用sleep(5000),甚至是sleep(50000)知道没有问题为止。
当然这不是解决问题,而是让你明白问题所在。
解决问题的关键,想办法使访问数据库这个进程发个通知,已告知别的进程我已执行完了。
while not adoquery1.isEmptydo
sleep(1);
就是让之后的进程一直sleep,直到需要同步的那个进程执行完
 
线程中和线程玩用不同的connection试试
 
会报eidprotocolreplyerror错误,
 
http://www.51zhan.com 最好的网址站
http://www.51zhan.com 最好的网址站
http://www.51zhan.com 最好的网址站
 
你线程中是否用到了indy 控件
 
会不会是同时在访问数据库呢?
 
真无聊。。。
 
我觉得应该是访问数据库的同步问题.需要每个线程一个ado,这样应该就可以了.
 
>>会报eidprotocolreplyerror错误,
这个是Indy的报的异常啊?和数据库有啥关系?
 
后退
顶部