ACE_Mutex是否使用自旋锁?
Does ACE_Mutex use spin lock?
一些系统有非常智能的互斥锁,在从操作系统获取锁之前会在进程中旋转一会儿。如果你的系统有这样一个互斥锁,那么你写一个进程内互斥锁类型就没有多大意义了。
但不是所有的系统都这样。
ACE是否为我们处理这种不确定性?
这取决于底层平台和配置。
例如ACE_Thread_Mutex在Win32: 5.7.7上使用了CRITICAL_SECTION。其他unix版本可以使用pthread_mutex。查看一下您的平台上USYNC_THREAD的状态
相关文章:
- 在提升multi_index容器中,是否定义了"default index"?
- 在C++STL中是否有Polyval(Matlab函数)等价物?
- 检查输入是否不是整数或数字
- 是否可以初始化不可复制类型的成员变量(或基类)
- 在C++中,是否可以基于给定的标识符创建基类的新实例,反之亦然
- 是否可以通过C++扩展强制多个python进程共享同一内存
- 此代码是否违反一个定义规则
- 是否需要删除包含对象的"pair"?
- 是否需要 mutex() 来安全地同时访问具有 2 个线程的数组的不同元素?
- std::mutex 的发布-获取可见性保证是否仅适用于关键部分?
- 是否有一个术语来表示"single mutex deadlock"(具有非递归互斥锁的死锁类型情况)?
- 将 boost::thread 与 C++11 std::mutex 混合使用是否安全?
- 通过引用返回共享对象是否安全"std::lock_guard<mutex>"?
- mutex::lock() 检查一次解锁状态是否已经被另一个线程锁定?
- “std::mutex”和“std::lock”是否保证处理器间代码中的内存同步
- std::mutex是否公平
- Mutex防护:是否有自动保护物体的机制
- Boost::mutex - 是否可以将其锁定在一个类函数中并在另一个类函数上解锁
- std::lock_guard<std::mutex> lock(m) 是否有简写?
- 是否有任何惯用的显式使用mutex::lock()或unlock()