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