Windows上多线程同步相关的MFC类(2)

本文探讨了Windows上MFC的CMutex类在多线程同步中的应用,特别是在不同进程间同步的场景。通过举例说明,阐述了如何利用CMutex确保多个程序对同一资源的互斥访问,确保数据完整性。示例展示了两个程序如何通过CMutex协调,避免同时写入同一文件,从而保证每个程序的数据写入不受干扰。
摘要由CSDN通过智能技术生成
转载请标明出处: http://blog.csdn.net/zhangxingping

Windows上多线程同步相关的MFC类(2)

CMutex

http://blog.csdn.net/zhangxingping/article/details/8512113中提到了“如果多个程序可以访问资源,则可以使用CMutex;否则,使用CCriticalSection。”前面也看到了关于CCriticalSection的使用方法:在同一个程序的多个线程间进行同步控制。实际上,在这种情况下,CCriticalSection比CMutex的效率更高。但是CMutex是可以在多个程序间进行同步控制的。

 

在下面的示例中存在两个程序:它们向同一个文件中写入数据,为了保证每个程序写入数据的完整性就使用到了CMutex。运行时,可以先后一次运行这两个程序,可以看到在一个程序写入数据的时候,另外一个程序是处于等待状态的,直到第一个程序写入数据结束,并进行了Unlock操作。

第一个程序:

//CMutexDemoApp1.cpp : 定义控制台应用程序的入口点。
//
 
#include "stdafx.h"
#include "CMutexDemoApp1.h"
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值