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

时间:2014-10-21 05:49:32

标签: c++ boost data-structures stl containers

我真的很想知道是否有可以在多个进程中使用的容器(地图,矢量,列表等)的任何stl / boost / custom等实现。

1 个答案:

答案 0 :(得分:3)

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

标准库中没有任何内容可以为您提供这种跨进程功能。 这并不是说如果你将它们放入共享内存中,它们就不会进行跨进程的工作,但这并不是真正内置于集合中的。

毫无疑问,您可以将数据保存到磁盘上,但这似乎并非在您认为合适的流程中共享。

Boost 为您提供interprocess内容,其中包含C ++中镜像的集合代码,例如vector,deque和list。

我毫不怀疑可能在某个地方是某些自定义的,但在这种交互级别,大多数人只会选择数据库系统,因为它很容易提供跨进程数据,与所有有用的东西,如种族条件预防,等等。