zoukankan      html  css  js  c++  java
  • 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,请重新打开一次此文件运行测试数据装载到内存后的结果
  • 相关阅读:
    WebStorm 使用
    Mac上因磁盘格式导致gulp无限刷新问题
    JS数组随机排序
    Javascript高性能动画与页面渲染
    两列布局,左边固定,右边自适应的三种方法
    google pay app权限使用说明
    javaFX
    https网站引用http路径的js和css失效解决办法
    tomcat笔记
    java sigar.jar
  • 原文地址:https://www.cnblogs.com/lc1217/p/6514355.html
Copyright © 2011-2022 走看看