Технически говоря, мьютексы pthread не медленнее и не быстрее, чем фьютексы.pthread - это просто стандартный API, поэтому то, будут ли они медленными или быстрыми, зависит от реализации этого API .
В частности, в Linux мьютексы pthread реализованы в виде фьютексов и, следовательно, быстры.На самом деле вы не хотите использовать сам API-интерфейс futex, поскольку он очень сложен в использовании, не имеет соответствующих функций-оболочек в glibc и требует кодирования в сборке, которая была бы непереносимой.К счастью для нас, сопровождающие glibc уже закодировали все это для нас под капотом API-интерфейса muth pthread.
Теперь, поскольку большинство операционных систем не реализовали фьютексы , программисты обычно подразумевают под pthreadМьютекс - это производительность, которую вы получаете от обычной реализации мьютексов pthread, которая медленнее.
Так что статистический факт состоит в том, что в большинстве операционных систем, совместимых с POSIX, мьютекс pthread реализован в пространстве ядра и медленнее, чемФутекс.В Linux они имеют одинаковую производительность.Возможно, существуют другие операционные системы, в которых мьютексы pthread реализованы в пользовательском пространстве (в непредусмотренном случае) и, следовательно, имеют более высокую производительность, но на данный момент я знаю только о Linux.