当前位置 : 主页 > 编程语言 > delphi >

delphi – InterLockedIncrement不支持第二个参数?

来源:互联网 收集:自由互联 发布时间:2021-06-23
我想要做 InterLockedIncrement(counter, step) 但编译说 参数太多了 是否有用于获取第二个参数的API? 您正在寻找的Windows函数名为 InterlockedAdd .但我不相信Delphi的RTL提供此功能,可能是因为它实
我想要做

InterLockedIncrement(counter, step)

但编译说

参数太多了

是否有用于获取第二个参数的API?

您正在寻找的Windows函数名为 InterlockedAdd.但我不相信Delphi的RTL提供此功能,可能是因为它实际上是作为MS工具链内在的编译器实现的.

还有TInterlocked.Add可以满足您的需求.

但我认为最好的选择是内在功能AtomicIncrement.这样称呼它:

AtomicIncrement(SomeVar, SomeAddend);

内在的优点是:

>它是跨平台的.>它内联,因此避免了函数调用的成本.

网友评论