none
C#程序 RRS feed

  • 问题

  • 本人是在校学生,研究师兄写的一个C#程序,是关于生产重调度的一个程序,就是根据已有的生产派工单,然后设置某个时间点的设备故障,重新计算,得到新的派工单,然后对比两个派工单的不同之处。问题就是当我的派工单数据量较小时,比如一万条的话,设置五个设备故障,这是可以得到数据(暂时不管是否正确),但是当数据增加到两万条以上的时候,再设置五个设备故障的话,点击运行之后鼠标直接变成圆圈形状,然后我等了一个晚上还是那样,根本不出现数据。但是设置一个故障的话等一段时间会有数据出来的!
        求各位大神给出出主意吧,这一般是什么原因呢?上面老师逼得紧,问题解决不了的话我会死的很惨的,求各位帮忙!谢谢了!
    2013年8月21日 1:14

答案

  • 你使用的是单线程吧,单线程如果处理数据量大的话会直接导致界面不能响应的情况的,也解决这个问题就是使用异步,也就是使用多个线程,使耗时的操作在后台进行,前天只是负责显示进度进展情况的,异步操作可以适应BackgroundWorker这个现有的类去做,不过.NET更多的推荐使用基于任务的异步编程去做,也就是使用.NET 4.0中的Task类去完成,具体应用可以参考下面的博客:

    http://www.cnblogs.com/zhili/category/475336.html


    If my post is helpful,please help to vote as helpful, if my post solve your question, please help to make it as answer. My sample

    2013年8月22日 2:49

全部回复