首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

同一文件的读写有关问题

2012-07-31 
同一文件的读写问题两个线程,同时对一文件进行读/写操作,当然,读与写会有机制保障不会产生重叠等问题。我想

同一文件的读写问题
两个线程,同时对一文件进行读/写操作,当然,读与写会有机制保障不会产生重叠等问题。
我想问的是,fwrite是先写cache,fread也是先读cache,如果fwrite写的内容刚到cache,还未写到物理内存中去,那此时读的内容能读到刚写的那块cache吗?
实践表明这样是没有问题的,否则会造成读数据不完整,但因为对文件系统这块了解不是太多,希望有大侠能从理论的角度阐述一下原因,我心里也放心,谢谢。

[解决办法]
fread fwrite应该都是把请求提交给OS 由OS来写
真正的读写应该用sync做同步
如果你两个线程确定同步了
而且fwrite都写完了 则fread阻塞读是没问题的

热点排行