python共享内存

网友投稿 1147 2022-05-29

Python共享内存

共享内存(Shared Memory)是最简单的进程间通信方式,它允许多个进程访问相同的内存,一个进程改变其中的数据后,其他的进程都可以看到数据的变化。

共享内存是进程间最快速的通信方式:

`进程共享同一块内存空间。

`访问共享内存和访问私有内存一样快。

`不需要系统调用和内核入口。

`不造成不必要的内存复制。

内核不对共享内存的访问进行同步,因此程序员必须自己提供同步。

使用共享内存:

`某个进程分配内存段。

`使用这个内存段的进程要连接(attach)这个内存段。

`每个进程使用完共享内存段后,要分离(detach)这个内存段。

`在某个地方,必须有一个进程来销毁这个内存段。

python共享内存

Linux的内存模型:

`每个进程的虚拟内存被分为页(page)。

`每个进程维护自己的内存地址到虚拟内存页之间的映射。

`实际的数据存在于进程的内存地址上。

`尽管每个进程有自己的地址空间,多个进程的映射还是可以指向相同的页。

所有的共享内存段的大小,都是Linux内存页大小的整数倍。

Linux的页大小是4KB,不过程序员应该使用getpagesize函数来获得这个值。

分配:shmget

`第一个参数是一个整型的键,用于指定要创建的段。无关的进程可以通过指定同一个键来访问同一段共享内存。

`使用常量IPC_P

Python 任务调度

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:HTTP协议概述
下一篇:windows共享内存
相关文章