相关疑难解决方法(0)

相当于Linux/gcc中的InterlockedIncrement

这将是一个非常简单的问题(可能重复),但我无法找到它.

Win32 API提供了一组非常方便的原子操作(作为内在函数),例如InterlockedIncrement发出lock addx86代码.另外,InterlockedCompareExchange映射到lock cmpxchg.

但是,我想在Linux中用gcc做到这一点.由于我正在使用64位,因此无法使用内联汇编.是否存在gcc的内在函数?

c c++ assembly multithreading intrinsics

25
推荐指数
1
解决办法
2万
查看次数

具有本地静态变量的ID生成器 - 线程安全?

下面的代码段是否会在多线程场景中按预期工作?

int getUniqueID()  
{  
    static int ID=0;  
    return ++ID;  
}
Run Code Online (Sandbox Code Playgroud)

这些ID不必连续 - 即使它跳过一个值,也没关系.可以说当这个函数返回时,返回的值在所有线程中都是唯一的吗?

c c++ thread-safety

6
推荐指数
2
解决办法
3373
查看次数

标签 统计

c ×2

c++ ×2

assembly ×1

intrinsics ×1

multithreading ×1

thread-safety ×1