import mmapmmap_file = None##从内存中读取信息,def read_mmap_info(): "/>

python mmap 实现内存数据共享

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python mmap 实现内存数据共享相关的知识,希望对你有一定的参考价值。

        

技术分享

import mmap
mmap_file = None##从内存中读取信息,def read_mmap_info():    
    global mmap_file
    mmap_file.seek(0)    ##把二进制转换为字符串
    info_str=mmap_file.read().translate(None, b‘\x00‘).decode()    print(info_str)##如果内存中没有对应信息,则向内存中写信息以供下次调用使用def get_mmap_info():    global mmap_file    ##第二个参数1024是设定的内存大小,单位:字节。如果内容较多,可以调大一点
    mmap_file = mmap.mmap(-1, 1024, access = mmap.ACCESS_WRITE, tagname = ‘share_mmap‘)    ##读取有效比特数,不包括空比特
    cnt=mmap_file.read_byte()    if cnt==0:        print("Load data to memory")
        mmap_file = mmap.mmap(0, 1024, access = mmap.ACCESS_WRITE, tagname = ‘share_mmap‘)
        mmap_file.write(b"This is the test data")    else :        print("The data is in memory")
        read_mmap_info()##修改内存块中的数据def reset_mmp_info:    global mmap_file
    mmap_file.seek(0)
    mmap_file.write(b‘\x00‘)
    mmap_file.write(b"Load data to memory agine")if __name__=="__main__":
    get_mmap_info()


说明:如果是使用python自带的IDE,请重新打开一次此文件运行测试数据装载到内存后的结果

技术分享

        

以上是关于python mmap 实现内存数据共享的主要内容,如果未能解决你的问题,请参考以下文章

Python实现共享内存通信方式

Python进程间通信之共享内存

共享内存之——mmap内存映射

mmap和shm共享内存的区别和联系

将数组作为共享内存,mmap函数要怎么写呢?

Linux 内核 内存管理内存管理系统调用 ⑤ ( 代码示例 | 多进程共享 mmap 内存映射示例 )