首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

程序有大量计算,让结果输出,程序就反应不过来了,如何解决呢

2012-04-13 
程序有大量计算,让结果输出,程序就反应不过来了,怎么解决呢比如:我让单击按钮事件,输出解线性方程的结果,

程序有大量计算,让结果输出,程序就反应不过来了,怎么解决呢
比如:我让单击按钮事件,输出解线性方程的结果,运行时,程序就卡在那里了,好像是反映不过来

void CCalibration::OnDdShow()  
{

  CString str=DD_OutPut_Curve_Equation();//解线性方程
  SetDlgItemText(IDC_SHOW_DD,str);
}

[解决办法]
用线程来处理计算,线程计算完成后再通知主程序。
[解决办法]
1. 开一个工作线程用来完成计算工作。
2.1 如果只是阻塞方案,可以在UI上显示当前正在计算,不允许进行后续操作。
2.2 如果是非阻塞方案,可以添加一个简单的消息队列,将后续需要进行运算的信息进行记录,
当工作线程完成运算后,通知工作线程继续工作,直到全部计算完毕
3. 优化计算方法
[解决办法]
通过独立线程处理
可参考这篇文章
http://blog.csdn.net/xianglitian/article/details/6729851

热点排行