[VC]InterlockedIncrement、InterlockedExchange、InterlockedExchangePointer之间的区别 博客分类: C/C++ VCwindows
程序员文章站
2024-02-23 15:35:04
...
四者都是windows平台的原子操作,区别如下:
InterlockedIncrement:对一个long类型变量累加,每次都是增加的值为1。与之对应的累减操作接口是InterlockedDecrement。
InterlockedExchangeAdd:对一个long类型变量进行加法操作,加数可以是任意值。
InterlockedExchange:将一个long类型的变量值修改为另一个指定的long值。
InterlockedExchangePointer:将一个指针类型的变量(void*)修改为另一个指定的void*。
MSDN官方文档
InterlockedIncrement
https://msdn.microsoft.com/en-us/library/windows/hardware/ff547910(v=vs.85).aspx
InterlockedExchangeAdd
https://msdn.microsoft.com/en-us/library/windows/hardware/ff547903(v=vs.85).aspx
InterlockedExchange
https://msdn.microsoft.com/en-us/library/windows/hardware/ff547892(v=vs.85).aspx
InterlockedExchangePointer
https://msdn.microsoft.com/en-us/library/windows/hardware/ff547904(v=vs.85).aspx