Книга: Системное программирование в среде Windows
Настройка спин-счетчика
Настройка спин-счетчика
Обычно, если в результате выполнения функции EnterCriticalSection поток обнаруживает, что объект CS уже принадлежит другому потоку, он входит в ядро и остается блокированным до тех пор, пока не освободится объект CRITICAL_SECTION, что требует определенного времени. Однако в SMP-системах вы можете потребовать, чтобы поток повторил попытку завладеть объектом CS, прежде чем блокироваться, поскольку существует вероятность того, что поток, владеющий CS, выполняется на другом процессоре и в любой момент может освободить CS. Это может оказаться полезным для повышения производительности, если между потоками наблюдается высокая состязательность за право владения единственным объектом CRITICAL_SECTION. Влияние упомянутых факторов на производительность обсуждается далее в этой и последующих главах.
Для настройки счетчика занятости, или спин-счетчика (spin-count), предназначены две функции, одна из которых, SetCriticalSectionSpinCount, обеспечивает динамическую настройку счетчика, а вторая, InitializeCritical-SectionAndSpinCount, выступает в качестве замены функции Initialize-CriticalSection. Настройка спин-счетчика рассматривается в главе 9.
- Установка значений спин-счетчиков
- Настройка учетных записей пользователей
- Настройка доступа пользователей к рабочей книге
- Настройка верхней области навигации
- Настройка левой панели навигации
- Настройка оповещений
- 13.3. Настройка почтовых клиентов
- Настройка библиотеки
- Часть III Установка, настройка и оптимизация операционной системы
- Настройка основных параметров BIOS
- Настройка дополнительных параметров BIOS
- Глава 9 Тонкая настройка и оптимизация