python共享内存库
pyshm的Python项目详细描述
#pyshm-python共享内存库
[![许可证](https://img.shields.io/badge/License BSD%202--Clause orange.svg)](https://opensource.org/licenses/BSD-2-Clause)
[![构建状态](https://travis-ci.org/yuyang0/pyshm.svg?branch=master)(https://travis ci.org/yuyang0/pyshm)
它导出三个模块:
>1。shm:主要用于在多个进程之间创建共享内存(使用“mmap”)
2。mempool:内存池是固定大小内存块的分配器在python中,内存块被表示为一个类似缓冲区的对象。环:共享内存中的无锁FIFO队列用户可以使用“ring”管理从mempool分配的
创建共享内存
使用来自pyshm import mempool的mempool
count=4
mp=mempool.mempool(count,4,shm=test-shm)
如果pid==0:
对于范围(count):
buf=mp.get()
struct.pack-into(“=i”,buf,0i)
mp.put(buf)
否则:
cid,status=os.wait()
断言pid==cid
对于范围(计数)内的i:
buf=mp.get()
v,=struct.unpack_from(“=i”,buf)
assert v==i
mp.cleanup()
`get`用于获取内存块(类似于缓冲区的对象),`put`将内存块返回到mempool
3。使用ring可以将内存块(从mempool获取)传递给另一个进程。
`
[![许可证](https://img.shields.io/badge/License BSD%202--Clause orange.svg)](https://opensource.org/licenses/BSD-2-Clause)
[![构建状态](https://travis-ci.org/yuyang0/pyshm.svg?branch=master)(https://travis ci.org/yuyang0/pyshm)
>1。shm:主要用于在多个进程之间创建共享内存(使用“mmap”)
2。mempool:内存池是固定大小内存块的分配器在python中,内存块被表示为一个类似缓冲区的对象。环:共享内存中的无锁FIFO队列用户可以使用“ring”管理从mempool分配的
创建共享内存
使用来自pyshm import mempool的mempool
count=4
mp=mempool.mempool(count,4,shm=test-shm)
对于范围(count):
buf=mp.get()
struct.pack-into(“=i”,buf,0i)
mp.put(buf)
否则:
cid,status=os.wait()
断言pid==cid
对于范围(计数)内的i:
buf=mp.get()
v,=struct.unpack_from(“=i”,buf)
assert v==i
mp.cleanup()
`get`用于获取内存块(类似于缓冲区的对象),`put`将内存块返回到mempool
3。使用ring可以将内存块(从mempool获取)传递给另一个进程。
`