免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2197 | 回复: 4

还是关于多线程问题 [复制链接]

论坛徽章:
0
发表于 2007-08-01 04:13 |显示全部楼层
几个线程同时写文件时,使用mmap好还是使用普通的fwrite好?
mmap写文件 要用 msync同步数据,那文件先是缓存在哪?虚拟内存?

fwrite 是在什么时候同步数据呢?只有在关闭文件时?如果这样,我想边下载边把文件存入硬盘的话 不是要频繁的打开 关闭文件?否则文件一直在缓冲区?

论坛徽章:
0
发表于 2007-08-01 04:22 |显示全部楼层
能使用一个“中心进程”来统一管理数据的读入、读出吗?

论坛徽章:
0
发表于 2007-08-01 18:23 |显示全部楼层
也可以自己设置一个大小比较合适的缓冲区,数据先放到缓冲区里面,等满了再写入文件,然后使用文件锁。

论坛徽章:
0
发表于 2007-08-05 03:05 |显示全部楼层
原帖由 simonsoft 于 2007-8-1 04:13 AM 发表
几个线程同时写文件时,使用mmap好还是使用普通的fwrite好?


用个线程锁就可以了

论坛徽章:
0
发表于 2007-08-05 10:36 |显示全部楼层
使用fwrite(),并使用线程同步时,可以使用fflush()清空缓存。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP