积极答复者
C#程序

问题
-
本人是在校学生,研究师兄写的一个C#程序,是关于生产重调度的一个程序,就是根据已有的生产派工单,然后设置某个时间点的设备故障,重新计算,得到新的派工单,然后对比两个派工单的不同之处。问题就是当我的派工单数据量较小时,比如一万条的话,设置五个设备故障,这是可以得到数据(暂时不管是否正确),但是当数据增加到两万条以上的时候,再设置五个设备故障的话,点击运行之后鼠标直接变成圆圈形状,然后我等了一个晚上还是那样,根本不出现数据。但是设置一个故障的话等一段时间会有数据出来的!
求各位大神给出出主意吧,这一般是什么原因呢?上面老师逼得紧,问题解决不了的话我会死的很惨的,求各位帮忙!谢谢了!
答案
-
你使用的是单线程吧,单线程如果处理数据量大的话会直接导致界面不能响应的情况的,也解决这个问题就是使用异步,也就是使用多个线程,使耗时的操作在后台进行,前天只是负责显示进度进展情况的,异步操作可以适应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
- 已标记为答案 Jason Dot WangModerator 2013年8月28日 1:38
全部回复
-
建议用BackGroundWorker或者多线程(后台线程)完成这个任务,把计算全部完成后显示一个结果即可。
If you think one reply solves your problem, please mark it as An Answer, if you think someone's reply helps you, please mark it as a Proposed Answer
Help by clicking:
Click here to donate your rice to the poor
Click to Donate
Click to feed Dogs & Cats
Found any spamming-senders? Please report at: Spam Report -
你使用的是单线程吧,单线程如果处理数据量大的话会直接导致界面不能响应的情况的,也解决这个问题就是使用异步,也就是使用多个线程,使耗时的操作在后台进行,前天只是负责显示进度进展情况的,异步操作可以适应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
- 已标记为答案 Jason Dot WangModerator 2013年8月28日 1:38