python多进程共享内存的读写访问控制

问题背景

基于SharedArray库,可以实现python多进程共享内存机制。问题在于,当内存初始化完成之后,我们希望这片内存的属性是只读的,而不希望看到意外的修改发生。

解决方案

解决方案是修改SharedArray库,库函数API attach成员提供的参数原先只有一个,即共享内存的文件名。通过修改attach的输入参数,可以允许用户将映射的内存指定为只读属性。这里面最关键的是mmap函数,attach函数内部调用mmap函数,原先的实现是将读写属性固定为允许读写。我们只需要略加修改,允许根据用户指定的参数来配置mmap,就可以达到内存区只读的目的。

测试结果

实测的结果是,将共享内存设置为read only之后,程序对于该内存的写操作会触发segment fault。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值