可以提高不同CPU上的进程之间的共享内存
Can boost do shared memory between processes that are on different CPUs
如果我有一个有两个CPU的多处理器,并且我有一进程在CPU 1上运行,另一进程在CPU2上运行,那么它们之间是否使用boost::进程间共享内存?如果是,如何实施?我在boost文档中找不到任何关于它的文档
是的,如果您在SMP或标准NUMA系统上。
如果您的一些CPU在子板或类似的板上运行,则可能不会。
操作系统和底层硬件平台(你还没有告诉我们)控制着这一点,如果你仍然不确定,你应该能够在适当的论坛上问一个特定于该操作系统/平台的问题。
如果你不确定以上两种情况中的哪一种是相关的,那么几乎可以肯定你在一个通用平台上,这一切都会奏效。请注意,Boost可能不会公开NUMA关联控制,但是,如果您想选择在哪个节点上分配页面。
这不是boost的优势,而是平台的优势。Boost在操作系统级别使用shmem或内存映射文件支持。
相关文章:
- Directx 12 :在两个进程之间共享图形内存
- 如何在进程之间共享大量数据而不重复?(国际刑罚委员会)
- 如何在进程之间创建双向通道?
- 如何在 C++ 中建立进程之间的双向通道?
- 父进程和子进程之间的 POSIX 信号量
- sizeof() 在 32 位和 64 位进程之间的行为不同
- 使用文件锁定的进程之间的条件变量
- RAM 在 MPI 中的进程之间如何分布?
- 在两个子进程之间管道时,C++ 进程挂起
- 在两个进程之间传递消息
- 两个进程之间的共享映射内存在编辑时未更新
- 在MPI进程之间更新数组
- 在同一台计算机上的两个进程之间使用ROSBridge
- C++ - 在进程之间发送消息
- 在 qt 进程之间传递参数
- 分叉进程之间的随机数是相同的
- 服务和用户模式进程之间的共享全局事件不起作用
- 在资源有限的不同进程之间建立共享内存
- windows DLL是否有可能在多个线程或进程之间使用相同的套接字编号
- C++ - 进程之间共享的互斥体