我正在寻找一种方法来原子地增加一个short,然后返回该值。我需要在内核模式和用户模式下都执行此操作,因此它是在Linux下,Intel 32位架构上的C语言中。不幸的是,由于速度要求,互斥锁将不是一个好的选择。
还有其他方法吗?此时,似乎唯一可用的选择是内联某些程序集。如果是这样,有人可以向我指出适当的指示吗?
GCC支持原子操作:
gcc原子