一尘不染

如何在C中进行原子增量和获取?

linux

我正在寻找一种方法来原子地增加一个short,然后返回该值。我需要在内核模式和用户模式下都执行此操作,因此它是在Linux下,Intel
32位架构上的C语言中。不幸的是,由于速度要求,互斥锁将不是一个好的选择。

还有其他方法吗?此时,似乎唯一可用的选择是内联某些程序集。如果是这样,有人可以向我指出适当的指示吗?


阅读 238

收藏
2020-06-03

共1个答案

一尘不染

GCC支持原子操作:

gcc原子

2020-06-03