Спинлок против семафора
Проще говоря, семафор - это operating-system "уступающий" объект синхронизации, спин-блокировка unix-programming - это "ожидание занятости". (семафоры cpp немного больше в том смысле, что unix-programming они синхронизируют несколько c потоков, в отличие от мьютекса, защиты, монитора linux или критического раздела, который unix-programming защищает область кода от unix-programming одного потока)
Вы бы использовали unix-utils семафор в большем количестве cxx обстоятельств, но используйте c++ спин-блокировку, когда вы c++ собираетесь блокировать на unix-programming очень короткое время - блокировка operating-systems стоит дорого, особенно если os вы блокируете много. В таких unix случаях может быть более os эффективным выполнить спин-блокировку unix-programming на некоторое время, ожидая linux разблокировки защищенного cpp ресурса. Очевидно, что если c++ вы слишком долго вращаете, это c++ снизит производительность.
обычно, если cxx вы вращаетесь дольше кванта c++ потока, вам следует использовать cpp семафор.
c++
c
linux
unix
operating-system
Спинлок против семафора
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.