Python中的mmap

469 阅读1分钟

mmap除了可以运用在加速文件读写之外, 还可以用于进程间的通信,下面是一个简单的示例:

import os
import time
import mmap


def main():
    mem = mmap.mmap(-1, length=1000, access=mmap.ACCESS_WRITE)

    pid = os.fork()

    if pid == 0:
        # child process
        mem[0:1000] = b'helloworld' * 100
    else:
        # main process
        time.sleep(1)
        print(mem[0:1000])


if __name__ == '__main__':
    main()

其中, mmap.mmap(-1, 中的-1表示创建一个匿名的mmap对象。