python的multiprocessing模块提供两种共享内存,sharedctypes与Manager,
Manager效率较低,但支持远程共享内存。
sharedctypes效率较高,快Manager两个数量级,在多进程访问时与普通内存访问相当
共享方式 | 支持的类型 |
---|---|
Shared memory | ctypes当中的类型,通过RawValue,RawArray等包装类提供 |
Inheritance | 系统内核对象,以及基于这些对象实现的对象。包括Pipe, Queue, JoinableQueue, 同步对象(Semaphore, Lock, RLock, Condition, Event等等) |
Server process | 所有对象,可能需要自己手工提供代理对象(Proxy) |