MFC ,我想用主线程写东西到一个文件,同时另一个线程从同一文件读东西出来

 我来答
life小道
2015-05-21 · TA获得超过784个赞
知道小有建树答主
回答量:455
采纳率:50%
帮助的人:110万
展开全部
因为是文件读写,所以要实现互斥。也就是说在你读的时候他不可以写,在你写打时候不允许读。
所以要加锁。两种方法。
一、你可以设一个成员变量做标记,初始化为0(因为你要先写,然后才可以读)。写之前判断标记,0可写,1不可写,写完置1。
读之前判读标记,1可读,0不可读。如果可读,读完之后标记置0.()
二、你可以用信号量。WaitForSingleObject。实现起来与上面同理。读写之前要判断信号量。
追问
可是大神说,cfile 有文件共享模式,不影响另一个线程的读
追答
按生产者和消费者的问题来解,答案就是这样的。
关于文件共享,你可以根据需要选择下面的参数。

CFile::shareDenyNone 允许其他进程对文件进行读写
CFile::shareDenyRead 不允许其他进程读取文件
CFile::shareDenyWrite 不允许其他进程写文件
CFile::shareExclusive 禁止其他进程对文件的所有访问
射手小小王
2015-05-21 · TA获得超过398个赞
知道小有建树答主
回答量:716
采纳率:85%
帮助的人:263万
展开全部
生产者和消费者的问题,
追问
是的呢,可是我不会
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式