MFC GDI 多线程 各位大哥高手牛人们。。小弟又有问题请教了。我使用GDI 绘图实现动画,一个小矩形画擦画。
因为我的动画是模拟汽车,所以图面上会有很多汽车同时运行,我用了两个版本的方法,而我用多线程的这个方法里面,每当图面上产生一个在移动的小车的时候,其实在代码里面是对应了一个...
因为我的动画是模拟汽车,所以图面上会有很多汽车同时运行,我用了两个版本的方法,而我用多线程的这个方法里面,每当图面上产生一个在移动的小车的时候,其实在代码里面是对应了一个线程的产生和一个汽车类对象的实例。当该汽车运行完它规定的路程的时候时,线程结束,资源回收。
但是当汽车多的时候,一般从有三辆的时候就开始出现一个很严重的问题:(因为我的级数不够,我不能贴图,我就把图放在我的百度空间的相册里面了,麻烦牛人自己去看看:http://hi.baidu.com/问0000题/ihome/mypiclist album_id=16274436&album_name=计算机科学与技术mfc)。
我现在就是不明白,到底是因为什么而产生的这个现象,我这几天查了一些多线程的书,可是还是不懂这是什么东东。毕竟我在代码里面,是保证了汽车每次移动的时候,画了之后是保证了擦除,然后之后再绘画的。真的不懂。。。。。。
帮帮小弟。。。。。。。谢谢牛人们了。。。。。。。。。 展开
但是当汽车多的时候,一般从有三辆的时候就开始出现一个很严重的问题:(因为我的级数不够,我不能贴图,我就把图放在我的百度空间的相册里面了,麻烦牛人自己去看看:http://hi.baidu.com/问0000题/ihome/mypiclist album_id=16274436&album_name=计算机科学与技术mfc)。
我现在就是不明白,到底是因为什么而产生的这个现象,我这几天查了一些多线程的书,可是还是不懂这是什么东东。毕竟我在代码里面,是保证了汽车每次移动的时候,画了之后是保证了擦除,然后之后再绘画的。真的不懂。。。。。。
帮帮小弟。。。。。。。谢谢牛人们了。。。。。。。。。 展开
展开全部
你不贴代码没法确定你的问题所在。MFC的窗口是用GDI画的,GDI本身不是线程安全的。就是说,如果多个线程同时在一个窗口里画东西,必须用同步机制保证在一个时间点只有一个线程在画。我估计你的问题多半就是因为没有做线程之间的同步。
微软官方参考文档:http://msdn.microsoft.com/en-us/library/ms684256(VS.85).aspx
微软官方参考文档:http://msdn.microsoft.com/en-us/library/ms684256(VS.85).aspx
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询