多线程与窗体显示

        最近在做一个项目。用C#语言。

        大致逻辑是这样的,在网络通畅情况下,把搜集到的数据及时发到远程数据库,并且数据库及时反馈信息。在断网情况下,也不能停止数据的搜集(不是通过网络搜集的)。那么数据就只能存在本地数据库,等待网络通畅之后批量发到远程数据库,并且远程数据库批量反馈信息。并且在报表里面显示出来。

        但是这样的问题就出现在何时送数据及反馈,送多少合适?

        因为考虑到网络的不稳定和带宽不一样,所以如果当网络通畅的时候本地在断网之前存了很多信息,但是这个时候客户端也在操作,这样就会在搜集信息并且发送的同时也发送本地的信息,就会造成网络占用量过大,造成软件的流畅性不好!

        所以为了解决这个问题,大家也许已经知道我们应该用多线程的方法实现在网络通畅的时候用两个线程来操作,一个线程是发送本地已经搜集好的信息并且接受反馈信息提示在客户端!一个线程操作本地搜集信息发送到远程数据库并且得到反馈信息。

        当然这样就可以解决发送本地的数据隔一段时间再发,也就是sleep(相隔时间),这样可以避免批量发送带来的网络占用过大。但是问题就出现在,在一个线程里面实例化一个窗体,这个窗体就是现实发送本地已经搜集好的信息发送到远程并且显示接受到的信息,这个窗口要弹得及时,也不能让客户端的用户等的太久。但是这个窗体在这个线程里面一闪而过,看不清楚里面显示的内容,实验了很久都没有出来效果!

        希望能够得到各路高手的相助,谢谢了!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值