社区
进程/线程/DLL
帖子详情
关于内存映射文件的一点小问题?
LEONARD0824
2006-03-03 11:43:33
我想制作两个线程,一个负责采集数据,并向数据文件中增加采集到的数据;另一个线程负责读取用户想看到某个时间段内的采样数据。请问,用内存映射文件是最好的办法么? 还是直接用内存缓冲的方法?
...全文
102
9
打赏
收藏
关于内存映射文件的一点小问题?
我想制作两个线程,一个负责采集数据,并向数据文件中增加采集到的数据;另一个线程负责读取用户想看到某个时间段内的采样数据。请问,用内存映射文件是最好的办法么? 还是直接用内存缓冲的方法?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Oversense
2006-03-08
打赏
举报
回复
filemap 太大也会出问题
mythay
2006-03-08
打赏
举报
回复
直接缓冲的好。
如果你有以下得情况,建议你是用内存映射
1.内存巨大。
2.稀疏数据。比如大小为10000的数组,存在有效数据的一般只有其中的2 、30个。
3.访问随机性不大。如果数据访问的随机性大,页面调入调出也需要占cpu时间。
如果不是一次全部映射,要设计一种算法以使访问效率最高。
虚拟内存至少要少一半得说法是不对的,具体原因参照《核心编程〉
LEONARD0824
2006-03-08
打赏
举报
回复
如果大的话,照babam的说法,我肯定要用filemapping,这样使用的虚拟内存至少要少一半,是么
babam
2006-03-07
打赏
举报
回复
看你的数量级了.
上g的话就filemapping好了
开的都是虚拟内存.没有什么太大关系.
LEONARD0824
2006-03-07
打赏
举报
回复
按理说,应该不会增大的.
LEONARD0824
2006-03-06
打赏
举报
回复
那我想问一下,随着文件的不断增大,我的程序使用的内存是不是也是越来越大?
gnixemos
2006-03-06
打赏
举报
回复
的时间不会随着文件的增大而增大
LEONARD0824
2006-03-03
打赏
举报
回复
对阿 ,filemapping有这个问题,要预先定义一个比较大的值,最后对hfile进行截断。
我想问一点,用createfile得到的hfile句柄向文件写相同大小数据的时间会不会随着文件的增大而增大?
读取文件相同大小数据的时间呢?
hollysky
2006-03-03
打赏
举报
回复
FileMapping 在两个进程间共享大的数据的确很好,如果你是在同一个进程里的两条线程,就不必了。
另外,File的尺寸可以改变, FileMapping 的尺寸不可改变。
内存映射
文件
的应用
内存映射
文件
的应用一,操作系统加载EXE和DLL二,读写大
文件
三,进程间通信
内存映射
文件
是windows开发下常用的一种技术,既可以用来读写磁盘上的大
文件
,也可以用来实现进程间的...
Boost.Interprocess.file_mapping
内存映射
文件
什么是
内存映射
文件
?
文件
映射是
文件
内容与进程地址空间的一部分的关联。系统创建一个
文件
映射关联
文件
和进程的地址空间。映射区域是进程用来访问
文件
内容的地址空间的一部分。一个
文件
映射可以有多个映射区域,以便...
谈谈
内存映射
文件
内存映射
文件
允许开发人员预订一块地址空间并为该区域调拨物理存储器,与虚拟内存不同的是,
内存映射
文件
的物理存储器来自磁盘中的
文件
,而非系统的页交换
文件
。将
文件
映射到内存中后,我们就可以在内存中操作他们了...
使用
内存映射
文件
在进程间共享数据
说道
内存映射
文件
,我感觉好多人都对此不是很理解(我也是其中一个。。。),经过不断地学习,我自己对此也有
一点
小小的理解,(也可以细看我转发的一篇博文,图文并茂,我深受启发...
《windows核心编程系列》十六谈谈
内存映射
文件
内存映射
文件
允许开发人员预订一块地址空间并为该区域调拨物理存储器,与虚拟内存不同的是,
内存映射
文件
的物理存储器来自磁盘中的
文件
,而非系统的页交换
文件
。将
文件
映射到内存中后,我们就可以在内存中操作他们了...
进程/线程/DLL
15,471
社区成员
49,182
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章