c# 实时数据及插入数据库的问题

wangderful12 2016-03-21 09:48:52
C# winform 做了个tabcontrol有个tabpage实时接收数据更新界面数据并插入数据库,当切换到另一个tabpage的时候,原来那个tabpage是否仍在接收更新插入数据,接收更新插入数据我都写在一个timer里。

因为数据是小于等于100ms更新一次的,里面有一些简单的加法逻辑,不过加法的逻辑会一直持续很多个小时,也就是一直加,这样会不会在切换到其他tabpage的时候发生卡死或者出现问题?
...全文
288 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Justin-Liu 2016-03-23
  • 打赏
  • 举报
回复
把代码挂上调试就知道是不是轮询了啊 timer启动了就会一直在跑 长时间会不会崩溃直观点儿就是看你的代码里有没有使用需要dispose的资源,如果有就及时dispose掉
Justin-Liu 2016-03-22
  • 打赏
  • 举报
回复
看你具体的代码是怎么写的啊
衣舞晨风 2016-03-22
  • 打赏
  • 举报
回复
测试一下 不就知道了?
wangderful12 2016-03-22
  • 打赏
  • 举报
回复
引用 4 楼 xunzaosiyecao 的回复:
测试一下 不就知道了?
测试暂时没有问题,担心的是在长时间连续使用的情况下,会出问题,现在的测试环境没法达到那么久
wangderful12 2016-03-22
  • 打赏
  • 举报
回复
引用 5 楼 FoxDave 的回复:
看你具体的代码是怎么写的啊
测试暂时没有问题,担心的是在长时间连续使用的情况下,会出问题,现在的测试环境没法达到那么久
wangderful12 2016-03-22
  • 打赏
  • 举报
回复
引用 5 楼 FoxDave 的回复:
看你具体的代码是怎么写的啊
按照1L说的,轮询的代码,在winform界面显示的代码都是在timer的tick事件里的,是不是看timer这个事件跟整体的控件是不是异步的就应该能知道切换到其他的tabpage的时候是否还在轮询数据
wangderful12 2016-03-22
  • 打赏
  • 举报
回复
引用 2 楼 sp1234 的回复:
你这个设计不叫做“接收更新数据”,而叫做“轮询更新数据”。接收跟轮询是天壤之别的两个概念,两种技术,前者是最低级的,后者是比较正常通讯技术。如果是接收,那么就不会说“因为数据是小于等于100ms更新一次的”,因为数据可以5ms就即刻接收到,也可以在8000ms之间也没有任何动作(不用轮询),这才叫做接收。 至于说你的问题,这个很难说。不过有一点,它是最低级的、最耗计算机资源的,通常一个应用之所以非常慢、用户操作非常卡,就是因为有这种东西存在。实际上,一个好的软件应该是基于事件来设计大量机制的,而避免轮询。
就是把逻辑都写在了timer的事件里了,timer设置刷新时间
  • 打赏
  • 举报
回复
你这个设计不叫做“接收更新数据”,而叫做“轮询更新数据”。接收跟轮询是天壤之别的两个概念,两种技术,前者是最低级的,后者是比较正常通讯技术。如果是接收,那么就不会说“因为数据是小于等于100ms更新一次的”,因为数据可以5ms就即刻接收到,也可以在8000ms之间也没有任何动作(不用轮询),这才叫做接收。 至于说你的问题,这个很难说。不过有一点,它是最低级的、最耗计算机资源的,通常一个应用之所以非常慢、用户操作非常卡,就是因为有这种东西存在。实际上,一个好的软件应该是基于事件来设计大量机制的,而避免轮询。
wangderful12 2016-03-22
  • 打赏
  • 举报
回复
顶顶顶顶顶,有人懂的来帮帮啊

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧