InitializeCriticalSectionAndSpinCount, есть счетчик вращений по умолчанию? - PullRequest
5 голосов
/ 18 декабря 2010

Метод API InitializeCriticalSectionAndSpinCount позволяет установить счетчик оборотов, поэтому при вызове EnterCriticalSection он зацикливается с использованием спин-блокировки, пытаясь получить ресурс несколько раз.Только если все попытки потерпят неудачу, поток переходит в режим ядра для перехода в состояние ожидания.

Если вместо этого вызывается 'normal' InitializeCriticalSection(), устанавливается ли счетчик вращений по умолчанию?(Или это 0, без вращения?)

1 Ответ

6 голосов
/ 18 декабря 2010

Цитирование из this Article:

SpinCount ... Это поле по умолчанию равно нулю, но может быть установлено в другое значение с помощью InitializeCriticalSectionAndSpinCount API

По умолчанию без вращения .

...