日期:2014-05-16  浏览次数:20885 次

2个线程调用一个存储过程存储数据 是否会冲突 锁住?
程序采用多串口被动接收返回的数据,采用各自的线程完成数据解析 并存储数据。
存储的时候,调用相同的存储过程, 存储过程完成数据插入以及数据更新显示表等工作。

我的问题是:  两个线程或多个线程 是否会在存储的时候锁住连接?导致其他程序不能访问?
              是否需要互斥运行????

------解决方案--------------------
如果更新相同的数据,会锁住,甚至死锁
------解决方案--------------------
应该会锁住。

同一个存储过程,但理论上不太可能有死锁
------解决方案--------------------
第二步怎么理解
------解决方案--------------------
引用:
是更新相同的数据 

存储过程功能: 1)将传进来的数据 追加到A表中作为历史记录
               2)同时更新B表 各个值,供其他程序实时显示查询用。


可能会有阻塞问题,但应该还不至于导致数据冲突
------解决方案--------------------
也有可能导致丢失更新
------解决方案--------------------
分开表的话就没问题
------解决方案--------------------
分开表的话你的A,B两表的操作本身没什么关系啊
------解决方案--------------------
分开就不存在并发的问题了。。
------解决方案--------------------
读线程将数据获取后,放置到作业队列(缓冲区),由写线程将缓冲区中的数据写入数据库。在此过程中,读线程可并行,写线程最好串行化。
------解决方案--------------------
围观 ~