有什么好办法吗

问题描述

DataViewdv=db.ExecuteDataView(sql);for(inti=0;i<dv.Table.Rows.Count;i++){//得到数据后进行处理。}

dv数据量很小不超过100条。得到数据进行处理时间大概3到5秒。我要在1秒内把dv轮询一次,要求实时进行计算有什么好办法吗?

解决方案

解决方案二:
得到数据进行处理--这个处理过程做成异步处理,不要阻塞循环
解决方案三:
“得到数据”为什么要用5秒钟,而不是15毫秒?5秒钟才能得到数据,你要1秒钟轮询一次,而且还要“实时计算”,就算你的电脑非常“闲”你想把闲置的电脑利用起来,这个想法也是自相矛盾的啊!
解决方案四:
基本上,你的这个说法中处处是坑、处处是误用对象。所以还是应该仔细规划。
解决方案五:
后台处理有线程去做,完成轮询dv自然快到不行
解决方案六:
这个只能并行异步。因为你的计算过程本身就要5秒。
解决方案七:
伪代码:不断收到超时警报。咋办?publicdelegatevoidAddHandler(xxx);DataViewdv=db.ExecuteDataView(sql);for(inti=0;i<dv.Table.Rows.Count;i++){newAddHandler(activeTriggerTjd).BeginInvoke(xxxx,null,null);//Thread.Sleep(10);}doublett=(DateTime.Now-date1).TotalMilliseconds;//Console.WriteLine(tt);if(tt>3000){UMailSSL.send("计算超时","",tt.ToString()+"ms");}

解决方案八:
new AddHandler这里已经是异步了,如果每循环一次就放一个线程里面就内存溢出了
解决方案九:
引用7楼shsyzl007的回复:

 new AddHandler这里已经是异步了,如果每循环一次就放一个线程里面就内存溢出了

这只是个委托,和异步处理没啥关系吧,给你个线程池的例子,照着改写就行了,http://www.cnblogs.com/SkySoot/archive/2012/04/01/2429259.html当然,如果你代码里封装了异步工作类,也可以不用上面的
解决方案十:
时间不是可以无条件缩短的,具体情况具体分析.车子再快也开不了1000码,那是飞机
解决方案十一:
引用9楼tcmakebest的回复:

时间不是可以无条件缩短的,具体情况具体分析.车子再快也开不了1000码,那是飞机

目前CPU利用率大概20%左右,还有提升空间。问题是程序怎么设计比较好
解决方案十二:
把对象放循环体外面,你这样不停的新建对象,不超时才怪

时间: 2024-09-08 01:45:57

有什么好办法吗的相关文章

POS链路不能打开的解决办法

介绍的是POS链路不能打开的解决办法,其原因是C2字节不匹配,这里以华为路由器为组网环境. 一.网络环境 路由器A有GE接口和2.5G POS接口与其他路由器连接,启动路由器A后,发现GE端口的状态为正常开启,但2.5G POS端口无法开启. 1.POS接口的配置如下: interface Pos7/0/0 undo shutdown link-protocol hdlc undo scramble ip address 10.112.0.1 255.255.255.252 2.查看系统日志,发

无线路由防蹭网办法

俗话说"魔高一尺道高一丈",有人要挖空心思的想不花钱来蹭你的网,造成你的网速大下降,这种损人利己的事,我们这些花了钱的主儿,能答应吗?不能!那么如何来有效防止别人破解了.我来说几点办法: 1.当你感觉网速明显变慢,怀疑有人蹭网时,登录路由器服务地址,在"无线参数----主机状态"下,就会显示现在有几台主机连接你的路由器,如果就你一个电脑,可是显示有2个或更多个主机,那么,你已经被蹭啦!! 2.使用"WPA--PSK/WPA2--PSK"安全类型,

win7软件兼容问题解决办法

  win7软件兼容问题解决办法 最近几天装了个win7,遇到了不少的问题 通过同学的帮助 通过usb引导安装,pe系统解压缩 刷bios,主分区激活 装好后,出现了软件的不兼容, eclipse,war3等 后来经过网上的查找 在程序上右击弹出属性窗口 选择兼容标签页 根据win7提示的兼容模式进行相应的选择 还有下面几个复选框也要进行选中 才能使程序正常运行起来!

flash播放插件无法安装的解决办法

1.卸载原版本的Flash player,可以到控制面板--添加删除里删除,注:如果控制面板里无法删除,可以上下载flash player 卸载器执行卸载操作.点击下载 2.打开注册表,找到[HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet ExplorerActiveX Compatibility],将其下面的{D27CDB6E-AE6D-11CF-96B8-444553540000}项或{D3f97240- C9f4-11CF-BFCr-00A0C90-

IE浏览器假死问题的解决办法

1)首先排除病毒因素 如果电脑经常会出现IE假死的情况,首先我们进行的是对电脑进行全盘扫描,排除病毒破坏干扰. 2)升级IE浏览器 排除病毒干扰后,我们再来介绍下其他的解决办法,如果我们安装的浏览器版本过低,比如是IE6浏览器,可能会导致一些网页的兼容问题,建议大家升级到IE8浏览器试试,以前也遇到过IE浏览器经常会卡死的情况,但是升级浏览器版本后明显好多了. 3)清理一些垃圾IE插件 如今很多软件安装都会默认安装一些垃圾插件,这对浏览器稳定性容易造成破坏,解决办法是清理一些不常用的IE插件,清

访问本页面 您的浏览器需要支持JavaScript的解决办法

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 百度site:首页出现"访问本页面,您的浏览器需要支持JavaScript".这样的情况,对于一个刚刚引起搜索引擎重视的新站来说是相当大的打击,需要尽快找出原因跟解决办法. 首先分析原因,用站长工具模拟搜索引擎蜘蛛抓取,结果却是"访问本页面,您的浏览器需要支持JavaScript".用谷歌管理员工具中实

ORA-01097错误解决办法及探索shutdown immediate

ORA-01097错误解决办法及探索shutdown immediate 很晚了要关机睡觉了,先把oralce 数据库关闭,结果出现下面的错误. SQL> shutdown immediate ORA-01097: cannot shutdown while in a transaction - commit or rollback first 提示说在一个事物未提交或者回滚前不能shutdown.我才想到我对一个测试用的表,进行了下面的更新而没有提交. SQL> update test01

固态硬盘SSD安装WIN7系统的3种办法

  简单易上手 SSD装Win7系统的3种办法 "先进格式化"技术解析 SSD采用"先进格式化"技术.机械硬盘在储存数据时,一直都是以512byte大小的扇区(Sector)为单位分割进行读写,硬盘行业决定将扇区容量扩大到4KB. 简单来说,如果SSD的4K存储格式不对齐,它有可能把一个存储文件放到最多8个闪存当中,文件碎片化严重,影响SSD的读写性能. SATA3.0 SSD的读写速度轻易突破500MB/秒 目前最有效的两个解决SSD 4K对齐办法: 1.Win7

java defunct产生的原因和解决办法

解决 java defunct产生的原因和解决办法: 在很多时候,我们启动JAVA进程后,如果退出这个JAVA进程,在系统进程中仍然可以看到这个进程.这种情况一般出现在UNIX/LINUX系统,对于WIN平台出现情况较少. 这个进程在UNIX平台上,你即使kill进程号也不能杀掉它,但它仍然占用系统资源,成了真正的"僵尸". 产生的原因:以前我们下载JDK时,可以下载到JDK的SRC然后自己编译,现在的官方网站上已经找不到可以自己编译的JDK包,下载回来的JDK都是释放包,我们可以想象

vxWorks应用程序加载的另一种办法

现在我们的工作中,应用程序一般都是和BSP联编,然后将vxworks_rom.bin烧到班子里.在BSP启动后,调用应用程序的函数的.   但是这样有个问题,就是应用程序和BSP结合的太紧密了.BSP开发者得将BSP代码给应用程序开发者,或者应用程序开发者得将应用程序编译后的.a文件给BSP开发者,才能完成程序的升级!   那么下面的方法是我这两天弄出来的,可以将应用程序和BSP开发分离的一个办法.只要开始将接口约定好就可以了!还不是很成熟,我也还没有正式在项目中使用,但是我相信这是一个不错的选