Интернет магазин китайских планшетных компьютеров



Компьютеры - Spinlock - Альтернативы спинлоков

13 мая 2011


Оглавление:
1. Spinlock
2. Специфика многопроцессорных и однопроцессорных конфигураций
3. Применение спинлоков
4. Проблемы спинлоков и методы их решения
5. Альтернативы спинлоков



  • Спинлоки служат для обеспечения монопольного доступа потока к защищаемой структуре данных. При этом не делается ни различия между самими потоками, ни между производимыми операциями. Однако зачастую, в реальных приложениях потоки можно разделить на «Читающие» и «Пишущие». Для данного несимметричного случая более целесообразно применять RWLock. Структура может быть одновременно использоваться неограниченным количеством потоков в режиме «только чтение», вместе с тем давая защиту целостности данных при приходе «пишущего» потока.
  • Существуют также алгоритмы без блокировок, основанные на атомарном детектировании коллизий. Они оптимизированы под оптимистичный случай, при котором вся проверка на коллизию сводится к одной атомарной ассемблерной операции

Прочие модификации спинлоков

Спинлок с автоматическим наращиванием до захвата полноценного мьютекса после истечения какого-то количества оборотов цикла применяется, например, в критических секциях Windows для оптимизации, заключающейся в отсутствии обращений к мьютексу при отсутствии соревнования за ресурс.



Просмотров: 4085


<<< Tenex