MFC明确禁止UI线程外的直接UpdateData,但是仍然可以通过定义新消息来完成这个功能.事实证明这样还是不太好:
我在UI线程外的一个新线程内高频度(320*240次)同时操作一个UI的CString和ProgressBar,结果会产生随机的CString数据紊乱,要么是少数据,要么是写丢失.我将ProgressBar操作拿出一个Loop,改为320次频度的循环,经过多次测试证明这样做使得程序稳定性提高了,原来差不多40%的出错率现在差不多降到了10%一下(也许就是0%了,我只测试了10次).
本文探讨了在MFC框架下,UI线程外进行高频操作可能导致的数据紊乱问题及解决方案。通过调整更新频率,从320*240次减少到320次,显著提升了程序的稳定性。
1442

被折叠的 条评论
为什么被折叠?



