c++ 11的condition_variables可以用来同步进程吗?
Can C++11 condition_variables be used to synchronize processes?
我正在努力学习c++ 11的std::condition_variable
。我在cppreference.com和cplusplus.com上读过文章,以及c++ 0x没有信号量?.
我的问题,我认为没有回答的三篇文章,是:可以用std::mutex
和std::condition_variable
的组合创建的"信号量"(见答案c++ 0x没有信号量?如何同步线程?)被用来同步进程之间的方式posix命名的信号量可以?我不清楚这个功能是否可以实现,因为我没有看到在创建这些对象时使用的"可共享"信息,例如名称。
不,这意味着同步一个进程内的线程,而不是进程。
进程间通信是通过共享文件实现的。进程间互斥锁或共享内存只是一个文件(例如在临时文件夹中创建),用于在两个进程之间交换信息(数据、锁)。boost::interprocess
提供了一个很好的实现(它不需要任何链接,代码是在飞行中编译的,你只需要包括它)。
要同步进程,您应该查看boost::interprocess。它提供同步机制。它提供了一个进程间信号量
在标准c++中最接近IPC(进程间通信)的是file io。
标准c++中没有内存IPC
相关文章:
- Windows 进程间同步类似事件?
- 如何使用一个信号灯同步 3 个进程?
- 使计时器在C++进程中的特定时间关闭,以便同步两个进程
- 多个线程/进程是否可以在不同步的情况下同时从/写入文件的非重叠区域?
- 如何为以下代码进行进程同步
- 互斥和进程同步;C++
- boost::OSX 上 32 位和 64 位程序之间共享内存中的进程间同步机制(互斥体、条件)
- 进程重定向可以在bash中同步吗
- 如何将记忆映射的文件与另一个进程写入文件同步
- 在Windows(win32或C++)中使用互斥锁的进程间同步
- std::launch::async就像同步进程一样阻塞
- 如何在Boost.process 0.5中与进程同步交互
- 执行这些 Boost::进程间组件需要同步
- MailSlot的进程同步
- 如何使用管道同步父进程和子进程
- Win32 将同步事件发送到其他进程
- 使用 WinAPI/C++ 在 Windows 上的进程之间进行多读取器、单写入器同步锁定
- 有没有办法在考虑到崩溃的情况下同步进程
- c++ 11的condition_variables可以用来同步进程吗?
- Winapi同步进程