3 ms·
The information is right there in the documentation: https://docs.microsoft.com/en-us/windows/win32/sync/critical-section-objects https://docs.microsoft.com/en
by gmueckl 7y ago
The information is right there in the documentation:
https://docs.microsoft.com/en-us/windows/win32/sync/critical-section-objects https://docs.microsoft.com/en-us/windows/win32/sync/critical...
The paragraph about InitializeCriticalSectionAndSpinCount and SetCriticalSectionSpinCount describe the behavior. IIRC, the default spin count used to be pretty high (1000 loops or so). Not sure if that was changed.
- YZF 7y agoInteresting. There's also that anecdote about the heap manager using a spin count of 4000. I wasn't aware this happened by default (I didn't see any mention of this in InitializeCriticalSection). I guess it's all down to the probability of contention vs. the amount of time the mutex is held.