_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)

另请参阅

互锁变量访问

InterlockedBitTestAndReset

InterlockedBitTestAndReset64

InterlockedBitTestAndResetAcquire

InterlockedBitTestAndResetRelease

InterlockedBitTestAndSet64

InterlockedBitTestAndSetAcquire

InterlockedBitTestAndSetRelease

同步函数