00问答网
所有问题
在多线程处理表数据的时候 怎么防止数据被重复处理
如题所述
举报该问题
推荐答案 2017-11-02
其实这个不是加锁的问题,而是数据分发的问题。加锁是为了防止高并发下产生脏数据,而你其实是希望处理过或者已被其他线程先拿到的数据不要再处理了,对吧?
如何进行数据分发,提高集群(或多线程)处理效率,这个要结合你们的数据模型来考虑。
比如处理的数据ID中有数字标识,当前你有10台机器或者10个线程,那么可以让这10台机器各自读取1/10的数据,这可以通过取余(%10)做到。比如第1台机器读取i%10==1的ID的数据,第2台读取i%10==2的,以此类推。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://00.wendadaohang.com/zd/nZj0eZD0nBTZIne0eZ.html
相似回答
C#实现
多线程
读取同一张
数据
表,用户获取不
重复
记录,
怎么
实现!
答:
如果是修改数据的话 楼主可以
把数据库表使用锁定功能
,把锁住 这样就不担心重复提交的情况。希望楼主早日解决问题~~~
多线程
操作
数据
库,
如何避免
冲突?除了用lock加锁以外 还有其他方式吗_百 ...
答:
除非你做了很多同步让两个线程都按照你设计的逻辑不发生访问数据库的冲突,否则你必须加锁
。看你的说明,你应该没加同步,所以他会出现冲突,你不能缺锁,他是共享资源的访问了。 追问: 恩,好的。受教了。
如何防止在多线程的
情况下插入数据,导致
数据重复
的方法?
答:
关键是插入
数据的
行为要分为2个软件层次来设计.一个是A插入请求层,一个是B插入执行层.其中A是
多线程
的没有错,但B一定是单个的线程,或者设计为windows消息循环机制或者采用线程同步互斥的方法.只有这种框架结构才能达到你说的那种效果.
问个SQL问题,oracle
数据
库,
多线程
查询SQL,
防止
查到同一条记录
答:
可以考虑增加状态字段,查询过的打标志,防止被重复查询,处理完成以后,置成完成的状态
。这么做的缺点是需要增加一个模块来处理意外情况导致的中间状态记录。
大家正在搜
多线程处理表数据
多线程读取不重复的数据
多线程如何避免重复数据
怎么防止自己被大数据记录
怎么防止大数据
多线程如何保护数据
数据库多线程
多线程分页数据有问题
多线程读取数据库
相关问题
如何防止在多线程的情况下插入数据,导致数据重复的方法?
多线程查询数据库同一张表怎么才能不允许出现重复记录
多线程多进程服务的数据队列处理怎么样解决重复读取的
多线程处理表数据性能问题
java处理高并发时,使用synchronized代码锁防止...
怎么防止数据库中插入重复数据?
java 多个线程从一张表内取数据,且不重复