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对象。