Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ ACE_互斥锁是否使用自旋锁?_C++_Ace - Fatal编程技术网

C++ ACE_互斥锁是否使用自旋锁?

C++ ACE_互斥锁是否使用自旋锁?,c++,ace,C++,Ace,有些系统具有相当智能的互斥锁,在从操作系统获取锁之前,可以在进程中旋转一段时间。如果您的系统有这样一个互斥体,那么编写进程内互斥体类型对您来说没有多大意义 但并非所有系统都这样做 ACE是否为我们处理了这种不确定性?我在文档中找不到它…它取决于底层平台和配置 例如,ACE\U线程\U互斥体在Win32上使用了一个关键\U部分:。其他unix版本可以使用pthread_互斥体。查看USYNC_线程在您的平台上的用途。据我所知,ACE提供了现有功能的模板包装(在本例中为POSIX线程互斥)。它将实现

有些系统具有相当智能的互斥锁,在从操作系统获取锁之前,可以在进程中旋转一段时间。如果您的系统有这样一个互斥体,那么编写进程内互斥体类型对您来说没有多大意义

但并非所有系统都这样做


ACE是否为我们处理了这种不确定性?我在文档中找不到它…

它取决于底层平台和配置


例如,ACE\U线程\U互斥体在Win32上使用了一个关键\U部分:。其他unix版本可以使用pthread_互斥体。查看USYNC_线程在您的平台上的用途。

据我所知,ACE提供了现有功能的模板包装(在本例中为POSIX线程互斥)。它将实现缺失的功能,以便使用其框架的应用程序跨平台开发能够成功。是否获得旋转行为取决于系统。