InitializeCriticalSectionAndSpinCount,是否有默认的旋转计数?

发布于 2024-10-08 01:14:06 字数 358 浏览 2 评论 0原文

API 方法 InitializeCriticalSectionAndSpinCount< /a> 允许您设置自旋计数,因此当调用 EnterCriticalSection 时,它会使用自旋锁循环尝试获取资源一定次数。仅当所有尝试都失败时,线程才会转换到内核模式以进入等待状态。

如果改为调用“正常”InitializeCriticalSection(),是否设置了“默认”旋转计数? (或者是 0,没有旋转?)

The API method InitializeCriticalSectionAndSpinCount allows you to set a spin count so when EnterCriticalSection is called, it loops using a spinlock to try to acquire the resource some number of times. Only if all the attempts fail does the thread transition to kernel mode to enter a wait state.

If the 'normal' InitializeCriticalSection() is called instead, is there a 'default' spin count set? (Or is it 0, no spin?)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一枫情书 2024-10-15 01:14:06

引用自

SpinCount ...该字段默认为零,但可以使用 InitializeCriticalSectionAndSpinCount API 设置为不同的值

因此默认值为无旋转

Quoting from this article:

SpinCount ... This field defaults to zero, but can be set to a different value with the InitializeCriticalSectionAndSpinCount API

So the default is no spin.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文