http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 5113|回复: 5

[其他] Datatable获取行数据发生错位

[复制链接]
发表于 2014-10-4 14:43:16 | 显示全部楼层 |阅读模式
1金钱
进行多线程Datatable读写

极个别时候会发生以下状况

读datatable的某指定行,读到的数据发生错位,可能是上一行的也可能是下一行的
比如我datatable如下
行     A       B        C
0     111   222   333
1     444   555   666
2     777   888   999

我读取第1行数据
读到的是      444         222         333

这是啥情况



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2014-10-4 17:52:07 | 显示全部楼层
加个锁就可以了
回复

使用道具 举报

 楼主| 发表于 2014-10-4 17:53:21 | 显示全部楼层
加过锁了,新增行的时候加锁
然后读取的时候,也锁了并复制一个副本
遍历副本里面的行
回复

使用道具 举报

发表于 2014-10-4 17:55:46 | 显示全部楼层
梦与现实 发表于 2014-10-4 17:53
加过锁了,新增行的时候加锁
然后读取的时候,也锁了并复制一个副本
遍历副本里面的行

贴代码出来看看
回复

使用道具 举报

发表于 2014-10-8 12:22:52 | 显示全部楼层
贴代码
回复

使用道具 举报

 楼主| 发表于 2014-10-8 12:25:27 | 显示全部楼层
解决了,检查发现进入一个线程的时候传递的所有参数都是对的,但是线程运行完添加行的时候东西就不对了
发现我传递增加行参数的时候传递的是datarow,估计同时发送好多这个datarow地址传递参数的时候错位了,改成string[]来增加行,就ok了,谢谢大家
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-11-24 17:54

© 2014-2021

快速回复 返回顶部 返回列表