欢迎来到天天文库
浏览记录
ID:24066471
大小:49.00 KB
页数:3页
时间:2018-11-12
《利用共享内存,实现进程间高效率数据共享》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、利用共享内存,实现进程间高效率数据共享:CPU速度比内存更快,内存中的缓存是用来解决CPU和内存速度差异的。多个模块都可以访问内存缓冲区,据此可以实用内存来实现进程间的数据共享。本文在Unix环境下实现该技术。 关键字:共享内存多进程文件映射 Abstract:CPUspeedfasterthanthememory,thecachememoryisusedtosolvetheCPUandmemoryspeeddifferences.Multiplemodulescanaccessmemorybuffer,accordinglycanrealiz
2、ebetemoriestopracticalprocessdatasharingbasedonUNIXenvironmenttorealizethistechnology. KeyemoryMappedFiles,该命名空间中,包括MemoryMappedFile,MemoryMappedFileSecurity,MemoryMappedVieoryMappedVie4个类。 MemoryMappedFile类管理内存映像文件,其中CreateFromFile方法基于磁盘上的现有文件的指定路径或FileStream创建一个内存映射文件。未映射映
3、射文件时,更改都将自动传播到磁盘。CreateNeoryMappedFileSecurity表示可以针对内存映射文件授予的文件访问和操作权限。 MemoryMappedVieoryMappedVie类将内存映射文件的视图表示为按顺序访问的流。使用CreateVie对象的MemoryMappedFile方法来获取此流。 以下是一个访问内存映像文件的主要代码片段,其中MyColor是一个自定义的结构类型: longoffset=0x10000000;longlength=0x20000000; using(varmmf=MemoryMapped
4、File.CreateFromFile("c:ExtremelyLargeImage.data", FileMode.Open,"ImgA")) {using(varaccessor=mmf.CreateViearshal.SizeOf(typeof(MyColor)); MyColorcolor; for(longi=0;i5、。这种大容量、高速的数据共享处理方式在设计高速数传模块通讯类软件中有着很好的使用效果。
5、。这种大容量、高速的数据共享处理方式在设计高速数传模块通讯类软件中有着很好的使用效果。
此文档下载收益归作者所有