进程C++之间的共享列表

share list between process c++

我是 c++ 新手,有点小问题。

所以我有一个 UdpServeur,它 接收 消息,我想要我编写的另一个程序来使用它们。 所以我使用了 FIFO tube 但它对代码来说很重。然后我用一个简单的 .txt 文件锁,但它不是很干净,也不适合项目。

对于我的项目,人们告诉我可以使用带有参考的列表,但我并没有真正理解。

我很确定有一种非常非常简单的方法可以让程序与同一个列表交互而不需要太多努力... 请帮我 ! :D 非常感谢。

使用lock guard并不复杂,释放它也不用关心

std::mutex list_mutex; 

// Access from thread 1:
{
   std::lock_guard guard(list_mutex);
   // Work with the list
}

// Access from thread 2:
{
   std::lock_guard guard(list_mutex);
   // Work with the list
}

list 和 list_mutex 都必须在两个线程都能看到的地方声明。一旦执行离开弯曲的大括号区域(也使用 return 或抛出异常),锁守卫将被释放。