Поделиться через


функция _interlockedbittestandset (winnt.h)

Проверяет указанный бит указанного значения LONG и задает для него значение 1. Эта операция является атомарной.

Синтаксис

BOOLEAN _interlockedbittestandset(
  [in] LONG volatile *Base,
  [in] LONG          Offset
);

Параметры

[in] Base

Указатель на переменную.

[in] Offset

Битовая позиция для тестирования.

Возвращаемое значение

Значение указанного бита.

Комментарии

Заблокированные функции предоставляют простой механизм для синхронизации доступа к переменной, совместно используемой несколькими потоками. Эта функция является атомарной по отношению к вызовам других взаимосвязанных функций.

Эта функция реализуется с помощью встроенной функции компилятора, где это возможно. Дополнительные сведения см. в файле заголовка WinBase.h и _interlockedbittestandset.

Эта функция создает полный барьер памяти (или ограждение), чтобы гарантировать, что операции с памятью выполняются по порядку.

Примечание Эта функция поддерживается в системах на основе Windows RT.
 

Требования

Требование Значение
Целевая платформа Windows
Header winnt.h (включая Windows.h)

См. также раздел

Доступ к заблокированным переменным

InterlockedBitTestAndReset

InterlockedBitTestAndReset64

InterlockedBitTestAndResetAcquire

InterlockedBitTestAndResetRelease

InterlockedBitTestAndSet64

InterlockedBitTestAndSetAcquire

InterlockedBitTestAndSetRelease

Функции синхронизации