gpt4 book ai didi

c++ - 互锁变量访问和临界区互锁增量之间的区别

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:03:01 25 4
gpt4 key购买 nike

有人可以帮助解释 C++ 中的互锁变量访问和临界区互锁增量之间的区别吗?谢谢,非常感谢,提前。

最佳答案

基本上,所有这些 InterlockedXXX 函数或多或少都是映射到相对较少(通常是一条)汇编指令的内部函数。这样的操作不能被中断,因此被称为原子性的(原子性是在 CPU 级别实现的,至少如果这在目标平台上是可能的)。

CRITICAL_SECTION 是一种可以保护较长部分的同步原语。它确实会锁定并且竞争线程将被迫等待,直到线程释放临界区的所有权。

关键部分是操作系统原语,但它们仅限于单个进程。他们在Windows下临界区的老大哥是一个Mutex,可以用来跨进程同步。

如果可以,请使用InterlockedXXX 函数(例如,使用完整的临界区对象来保护单个计数器是没有意义的)。您可能想提前查看各种原型(prototype)及其用法。许多人使用临界区,而 InterlockedCompareExchange 会做...

关于c++ - 互锁变量访问和临界区互锁增量之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6462141/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com