_interlockedbittestandset函数 (winnt.h)
测试指定的 LONG 值的指定位,并将其设置为 1。 该操作是原子操作。
语法
BOOLEAN _interlockedbittestandset(
[in] LONG volatile *Base,
[in] LONG Offset
);
参数
[in] Base
指向变量的指针。
[in] Offset
要测试的位位置。 偏移量来自最小有效位位置,零测试最小有效位,31 个测试最有效位。
返回值
指定位的值。
言论
联锁函数提供了一种简单的机制,用于同步对多个线程共享的变量的访问。 对于对其他互锁函数的调用,此函数是原子的。
此函数尽可能使用编译器内部函数实现。 有关详细信息,请参阅 WinBase.h 头文件和 _interlockedbittestandset。
此函数生成完整的内存屏障(或围栏),以确保按顺序完成内存操作。
注意 基于 Windows RT 的系统支持此函数。
要求
要求 | 价值 |
---|---|
目标平台 | 窗户 |
标头 | winnt.h (包括 Windows.h) |
另请参阅
InterlockedBitTestAndResetAcquire
InterlockedBitTestAndResetRelease
InterlockedBitTestAndSetAcquire