|
|
Компьютеры - Spinlock - Альтернативы спинлоков13 мая 2011
Оглавление: 1. Spinlock 2. Специфика многопроцессорных и однопроцессорных конфигураций 3. Применение спинлоков 4. Проблемы спинлоков и методы их решения 5. Альтернативы спинлоков
- Спинлоки служат для обеспечения монопольного доступа потока к защищаемой структуре данных. При этом не делается ни различия между самими потоками, ни между производимыми операциями. Однако зачастую, в реальных приложениях потоки можно разделить на «Читающие» и «Пишущие». Для данного несимметричного случая более целесообразно применять RWLock. Структура может быть одновременно использоваться неограниченным количеством потоков в режиме «только чтение», вместе с тем давая защиту целостности данных при приходе «пишущего» потока.
- Существуют также алгоритмы без блокировок, основанные на атомарном детектировании коллизий. Они оптимизированы под оптимистичный случай, при котором вся проверка на коллизию сводится к одной атомарной ассемблерной операции
Прочие модификации спинлоков
Спинлок с автоматическим наращиванием до захвата полноценного мьютекса после истечения какого-то количества оборотов цикла применяется, например, в критических секциях Windows для оптимизации, заключающейся в отсутствии обращений к мьютексу при отсутствии соревнования за ресурс.
Просмотров: 4250
|