可以跨进程共享的C++容器

C++ Container that can be Shared Across Process

本文关键字:C++ 容器 共享 进程      更新时间:2023-10-16

我真的很想知道是否有可以在多个进程中使用的容器(映射、向量、列表等)的stl/boost/custom etc实现。

首先,没有STL,曾经的STL现在只是C++标准库(实际上仍然是STL,但大多数人说STL是标准库时的意思是什么)。

标准库中没有提供这种跨流程功能。这并不是说,如果你把它们放在共享内存中,它们就不会跨流程工作,但这并不是真正内置在集合中的。

毫无疑问,您可以将数据持久化到磁盘上,但这并不像您所说的那样在进程之间真正共享。

Boost确实为您提供了进程间的东西,其中包含C++中的集合镜像代码,如矢量、deque和列表。

我毫不怀疑可能有一些自定义的,但在这种交互级别上,大多数人只会选择数据库系统,因为它可以很容易地提供跨流程数据,并提供所有有用的东西,如种族状况预防等。