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

另请参阅

互锁变量访问

InterlockedBitTestAndReset

InterlockedBitTestAndReset64

InterlockedBitTestAndResetAcquire

InterlockedBitTestAndResetRelease

InterlockedBitTestAndSet64

InterlockedBitTestAndSetAcquire

InterlockedBitTestAndSetRelease

同步函数