MFC线程同步

来源:互联网 发布:网络找人 编辑:程序博客网 时间:2024/05/29 05:55

MFC线程同步
*为什么要进行线程同步?
线程是非常好的程序设计方法,线程可以简化程序设计,而且线程也极大的改善了程序性能,但是 ,使用线程要小心,比如多个线程同时使用了共享资源,如果多个线程同时修改了共享资源,那么 最后的结果很可能是错的,要保证共享资源不被多个资源同时修改,就要把多个线程进行同步,同步就是禁止多个线程对共享资源同时进行修改,一次只允许一个线程对共享资源进行操作

   做一个简单的例子,创建一个MFC应用程序,

这里写图片描述
对应的两个按钮分别创建一个线程,如图
这里写图片描述
转到定义的线程函数
这里写图片描述
这里写图片描述
这两个线程都是执行相同的操作,即将total加100000000次,之所以加这么多次,是因为计算机运行速度太快,次数少了看不出来效果,按下button1,得到的total就是100000000,然后按下button2,total又加了100000000,所以就是200000000,是没问题的,
这里写图片描述
这里写图片描述
但是要是按下button1然后讯速按下button2(即在线程A结束之前按下,如果循环次数过少,还来不及按就已经结束了)呢?
这里写图片描述
很明显会发生错误

0 0
原创粉丝点击