【发布时间】:2022-01-10 07:30:16
【问题描述】:
我在interprocess_condition看到下面的代码,我知道interprocess_condition用于进程同步,但我不确定spin_condition是否可以。
private:
#if defined(BOOST_INTERPROCESS_CONDITION_USE_POSIX)
ipcdetail::posix_condition m_condition;
#elif defined(BOOST_INTERPROCESS_CONDITION_USE_WINAPI)
ipcdetail::winapi_condition m_condition;
#else
ipcdetail::spin_condition m_condition; // this condition
#endif
怀疑
因为我发现spin_condition是通过volatile关键字变量实现的。 volatile关键字变量可以用作进程间的共享内存吗?
spin_mutex m_enter_mut;
volatile boost::uint32_t m_command;
volatile boost::uint32_t m_num_waiters;
【问题讨论】: