Книга: Системное программирование в среде Windows
Установка значений спин-счетчиков
Установка значений спин-счетчиков
Спин-счетчики CS могут устанавливаться на стадии инициализации объектов CS или динамическим путем. В первом случае функция InitializeCriticalSection заменяется функцией InitializeCriticalSectionAndSpinCount, в которой добавлен параметр счетчика. В то же время, способа, позволяющего считать значение спин-счетчика, не существует.
VOID InitializeCriticalSectionAndSpinCount(LPCRITICAL_SECTION lpCriticalSection, DWORD dwCount)
Значение спин-счетчика можно в любой момент изменить.
VOID SetCriticalSectionSpinCount(LPCRITICAL_SECTION lpCriticalSection, DWORD dwCount)
В документации Microsoft говорится о том, что рекомендуемым для управления кучей значением спин-счетчика является 4000. Однако оптимальное значение зависит от свойств приложения, и поэтому спин-счетчики должны настраиваться индивидуально для каждого приложения, выполняющегося в реалистическом SMP-окружении. Наилучшее значение будет различным в зависимости от количества процессоров, характера приложения и тому подобного.
На Web-сайте книги находится программа TimedMutualExclusionSC. Эта программа представляет собой видоизмененный вариант уже знакомой вам программы TimedMutualExclusion, в котором значение спин-счетчика указания в качестве параметра командной строки. Вы можете запустить эту программу на своей машине для приблизительной оценки того, какое значение спин-счетчика будет наиболее приемлемым для выполнения того или иного из вариантов тестовых программ на доступных вам SMP-системах, что и предлагается сделать в упражнении 9.2.
- 8.2. Хранение значений в связке ключей
- 8.4. Обновление значений в связке ключей
- Определение цветовых значений
- Расширенная установка InterBase-сервера
- Установка системы на уже подготовленный жесткий диск
- Установка файлов занятий
- 2 Установка системы
- Глава 4. Установка и конфигурирование сетевых интерфесов
- Часть III Установка, настройка и оптимизация операционной системы
- Демонтаж и установка МП
- Установка
- Установка пароля