python - Python获取共享内存:大小不一致
问题描述
过程1:
shm=multiprocessing.shared_memory.SharedMemory(name="shm", create=True, size=10000)
print(shm.size)
打印 10000
过程2:
shm=multiprocessing.shared_memory.SharedMemory(name="shm")
print(shm.size)
打印 12288
问题是我正在尝试使用缓冲区来支持一个 numpy 数组。然后 numpy 抱怨它不能reshape()
数组,因为它的大小不同。
解决方案
共享内存四舍五入为下一页大小,在您的情况下为 3 * 4096。您必须将缓冲区切片为正确的大小
shm = multiprocessing.shared_memory.SharedMemory(name="shm")
buffer = shm.buf[:10000]
推荐阅读
- javascript - 取消选中 reactjs 中的单选按钮
- python - 在 nltk 中为 python 编辑 Vader_lexicon.txt 以添加与我的域相关的单词
- python - 如果列表更改,Tkinter 的 OptionMenu 回调将不起作用
- python - 如何检测熊猫数据框中的混淆分类数据
- javascript - Ajax 获取内容后,我想调用另一个 ajax 函数
- javascript - 何时使用 Blob 类型从 API 获取图像?
- php - 使用 NGINX 对 PHP 脚本的多个同时请求
- android - 使用 LinearSnapHelper 在 recyclerview 中捕捉第一个和最后一个项目的问题
- node.js - 仅使用 shell 部署应用程序
- php - 在另一个循环中保存一次复选框值