Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка OSAtomic.h

Опции
Развертывание Target:

На этой странице

Ссылка OSAtomic.h

Этот заголовок объявляет группу OSAtomic функций для атомарного чтения и обновления значений.

Включенные заголовки

  • <libkern/OSBase.h>

Функции

  • 32-разрядный добавляют работу, выполняемую атомарно относительно всех устройств, участвующих в архитектуре когерентности платформы.

    Объявление

    Objective C

    SInt32 OSAddAtomic ( SInt32 amount, volatile SInt32 *address );

    Параметры

    amount

    Сумма для добавления.

    address

    4 байта выровняли адрес значения для обновления атомарно.

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

    Значение перед дополнением

    Обсуждение

    Функция OSAddAtomic добавляет указанную сумму к значению в указанном адресе и возвращает исходное значение.

    Эта функция гарантирует атомарность только с главной системной памятью. Это является в частности неподходящим для использования на некэшируемой памяти, такой как это в устройствах; эта функция не может гарантировать атомарность, например, на с отображенной памятью от устройства PCI. Предыдущие воплощения этой функции включили барьер памяти в системах со слабо упорядоченными архитектурами памяти, но текущие версии не содержат барьеров.

    Оператор импорта

    Objective C

    #include <OSAtomic.h>;

    Доступность

    Доступный в OS X v10.0 и позже.

  • 16-разрядный добавляют работу, выполняемую атомарно относительно всех устройств, участвующих в архитектуре когерентности платформы.

    Объявление

    Objective C

    SInt16 OSAddAtomic16 ( SInt32 amount, volatile SInt16 *address );

    Параметры

    address

    2 байта выровняли адрес значения для обновления атомарно.

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

    Значение перед дополнением

    Обсуждение

    Функция OSAddAtomic16 добавляет указанную сумму к значению в указанном адресе и возвращает исходное значение.

    Эта функция гарантирует атомарность только с главной системной памятью. Это является в частности неподходящим для использования на некэшируемой памяти, такой как это в устройствах; эта функция не может гарантировать атомарность, например, на с отображенной памятью от устройства PCI. Предыдущие воплощения этой функции включили барьер памяти в системах со слабо упорядоченными архитектурами памяти, но текущие версии не содержат барьеров.

    Оператор импорта

    Objective C

    #include <OSAtomic.h>;

    Доступность

    Доступный в OS X v10.0 и позже.

  • 64-разрядный атомарный добавляют работу.

    Объявление

    Objective C

    SInt64 OSAddAtomic64 ( SInt64 theAmount, volatile SInt64 *address );

    Обсуждение

    Посмотрите OSAddAtomic.

    Оператор импорта

    Objective C

    #include <OSAtomic.h>;

    Доступность

    Доступный в OS X v10.5 и позже.

  • 8-разрядный добавляют работу, выполняемую атомарно относительно всех устройств, участвующих в архитектуре когерентности платформы.

    Объявление

    Objective C

    SInt8 OSAddAtomic8 ( SInt32 amount, volatile SInt8 *address );

    Параметры

    amount

    Сумма для добавления.

    address

    Адрес значения для обновления атомарно.

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

    Значение перед дополнением.

    Обсуждение

    Функция OSAddAtomic8 добавляет указанную сумму к значению в указанном адресе и возвращает исходное значение.

    Эта функция гарантирует атомарность только с главной системной памятью. Это является в частности неподходящим для использования на некэшируемой памяти, такой как это в устройствах; эта функция не может гарантировать атомарность, например, на с отображенной памятью от устройства PCI. Предыдущие воплощения этой функции включили барьер памяти в системах со слабо упорядоченными архитектурами памяти, но текущие версии не содержат барьеров.

    Оператор импорта

    Objective C

    #include <OSAtomic.h>;

    Доступность

    Доступный в OS X v10.0 и позже.

  • 32-разрядный логичный и работа, выполняемая атомарно относительно всех устройств, участвующих в архитектуре когерентности платформы.

    Объявление

    Objective C

    UInt32 OSBitAndAtomic ( UInt32 mask, volatile UInt32 *address );

    Параметры

    mask

    Маска к логически и со значением.

    address

    4 байта выровняли адрес значения для обновления атомарно.

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

    Значение перед битовой операцией

    Обсуждение

    OSBitAndAtomic функционируют логически ands биты указанной маски в значение в указанном адресе, и возвращает исходное значение.

    Эта функция гарантирует атомарность только с главной системной памятью. Это является в частности неподходящим для использования на некэшируемой памяти, такой как это в устройствах; эта функция не может гарантировать атомарность, например, на с отображенной памятью от устройства PCI. Предыдущие воплощения этой функции включили барьер памяти в системах со слабо упорядоченными архитектурами памяти, но текущие версии не содержат барьеров..

    Оператор импорта

    Objective C

    #include <OSAtomic.h>;

    Доступность

    Доступный в OS X v10.0 и позже.

  • 16-разрядный логичный и работа, выполняемая атомарно относительно всех устройств, участвующих в архитектуре когерентности платформы.

    Объявление

    Objective C

    UInt16 OSBitAndAtomic16 ( UInt32 mask, volatile UInt16 *address );

    Параметры

    mask

    Маска к логически и со значением.

    address

    2 байта выровняли адрес значения для обновления атомарно.

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

    Значение перед битовой операцией.

    Обсуждение

    OSBitAndAtomic16 функционируют логически ands биты указанной маски в значение в указанном адресе и возвратах исходное значение.

    Эта функция гарантирует атомарность только с главной системной памятью. Это является в частности неподходящим для использования на некэшируемой памяти, такой как это в устройствах; эта функция не может гарантировать атомарность, например, на с отображенной памятью от устройства PCI. Кроме того, эта функция включает барьер памяти в системах со слабо упорядоченными архитектурами памяти.

    Оператор импорта

    Objective C

    #include <OSAtomic.h>;

    Доступность

    Доступный в OS X v10.0 и позже.

  • 8-разрядный логичный и работа, выполняемая атомарно относительно всех устройств, участвующих в архитектуре когерентности платформы.

    Объявление

    Objective C

    UInt8 OSBitAndAtomic8 ( UInt32 mask, volatile UInt8 *address );

    Параметры

    mask

    Маска к логически и со значением.

    address

    Адрес значения для обновления атомарно.

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

    Значение перед битовой операцией.

    Обсуждение

    OSBitAndAtomic8 функционируют логически ands биты указанной маски в значение в указанном адресе и возвратах исходное значение.

    Эта функция гарантирует атомарность только с главной системной памятью. Это является в частности неподходящим для использования на некэшируемой памяти, такой как это в устройствах; эта функция не может гарантировать атомарность, например, на с отображенной памятью от устройства PCI. Кроме того, эта функция включает барьер памяти в системах со слабо упорядоченными архитектурами памяти.

    Оператор импорта

    Objective C

    #include <OSAtomic.h>;

    Доступность

    Доступный в OS X v10.0 и позже.

  • 32-разрядный логичный или работа, выполняемая атомарно относительно всех устройств, участвующих в архитектуре когерентности платформы.

    Объявление

    Objective C

    UInt32 OSBitOrAtomic ( UInt32 mask, volatile UInt32 *address );

    Параметры

    mask

    Маска к логически или со значением.

    address

    4 байта выровняли адрес значения для обновления атомарно.

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

    Значение перед битовой операцией.

    Обсуждение

    OSBitOrAtomic функционируют логически ors биты указанной маски в значение в указанном адресе, и возвращает исходное значение.

    Эта функция гарантирует атомарность только с главной системной памятью. Это является в частности неподходящим для использования на некэшируемой памяти, такой как это в устройствах; эта функция не может гарантировать атомарность, например, на с отображенной памятью от устройства PCI. Кроме того, эта функция включает барьер памяти в системах со слабо упорядоченными архитектурами памяти.

    Оператор импорта

    Objective C

    #include <OSAtomic.h>;

    Доступность

    Доступный в OS X v10.0 и позже.

  • 16-разрядный логичный или работа, выполняемая атомарно относительно всех устройств, участвующих в архитектуре когерентности платформы.

    Объявление

    Objective C

    UInt16 OSBitOrAtomic16 ( UInt32 mask, volatile UInt16 *address );

    Параметры

    mask

    Маска к логически или со значением.

    address

    2 байта выровняли адрес значения для обновления атомарно.

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

    Значение перед битовой операцией.

    Обсуждение

    OSBitOrAtomic16 функционируют логически ors биты указанной маски в значение в указанном адресе и возвратах исходное значение.

    Эта функция гарантирует атомарность только с главной системной памятью. Это является в частности неподходящим для использования на некэшируемой памяти, такой как это в устройствах; эта функция не может гарантировать атомарность, например, на с отображенной памятью от устройства PCI. Кроме того, эта функция включает барьер памяти в системах со слабо упорядоченными архитектурами памяти.

    Оператор импорта

    Objective C

    #include <OSAtomic.h>;

    Доступность

    Доступный в OS X v10.0 и позже.

  • 8-разрядный логичный или работа, выполняемая атомарно относительно всех устройств, участвующих в архитектуре когерентности платформы.

    Эта функция гарантирует атомарность только с главной системной памятью. Это является в частности неподходящим для использования на некэшируемой памяти, такой как это в устройствах; эта функция не может гарантировать атомарность, например, на с отображенной памятью от устройства PCI. Кроме того, эта функция включает барьер памяти в системах со слабо упорядоченными архитектурами памяти.

    Объявление

    Objective C

    UInt8 OSBitOrAtomic8 ( UInt32 mask, volatile UInt8 *address );

    Параметры

    mask

    Маска к логически или со значением.

    address

    Адрес значения для обновления атомарно.

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

    Значение перед битовой операцией.

    Обсуждение

    OSBitOrAtomic8 функционируют логически ors биты указанной маски в значение в указанном адресе и возвратах исходное значение.

    Оператор импорта

    Objective C

    #include <OSAtomic.h>;

    Доступность

    Доступный в OS X v10.0 и позже.

  • 32-разрядная логическая xor работа, выполняемая атомарно относительно всех устройств, участвующих в архитектуре когерентности платформы.

    Эта функция гарантирует атомарность только с главной системной памятью. Это является в частности неподходящим для использования на некэшируемой памяти, такой как это в устройствах; эта функция не может гарантировать атомарность, например, на с отображенной памятью от устройства PCI. Кроме того, эта функция включает барьер памяти в системах со слабо упорядоченными архитектурами памяти.

    Объявление

    Objective C

    UInt32 OSBitXorAtomic ( UInt32 mask, volatile UInt32 *address );

    Параметры

    mask

    Маска к логически или со значением.

    address

    4 байта выровняли адрес значения для обновления атомарно.

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

    Значение перед битовой операцией.

    Обсуждение

    OSBitXorAtomic функционируют логически xors биты указанной маски в значение в указанном адресе, и возвращает исходное значение.

    Оператор импорта

    Objective C

    #include <OSAtomic.h>;

    Доступность

    Доступный в OS X v10.0 и позже.

  • 16-разрядная логическая xor работа, выполняемая атомарно относительно всех устройств, участвующих в архитектуре когерентности платформы.

    Объявление

    Objective C

    UInt16 OSBitXorAtomic16 ( UInt32 mask, volatile UInt16 *address );

    Параметры

    mask

    Маска к логически или со значением.

    address

    2 байта выровняли адрес значения для обновления атомарно.

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

    Значение перед битовой операцией.

    Обсуждение

    OSBitXorAtomic16 функционируют логически xors биты указанной маски в значение в указанном адресе и возвратах исходное значение.

    Эта функция гарантирует атомарность только с главной системной памятью. Это является в частности неподходящим для использования на некэшируемой памяти, такой как это в устройствах; эта функция не может гарантировать атомарность, например, на с отображенной памятью от устройства PCI. Кроме того, эта функция включает барьер памяти в системах со слабо упорядоченными архитектурами памяти.

    Оператор импорта

    Objective C

    #include <OSAtomic.h>;

    Доступность

    Доступный в OS X v10.0 и позже.

  • 8-разрядная логическая xor работа, выполняемая атомарно относительно всех устройств, участвующих в архитектуре когерентности платформы.

    Эта функция гарантирует атомарность только с главной системной памятью. Это является в частности неподходящим для использования на некэшируемой памяти, такой как это в устройствах; эта функция не может гарантировать атомарность, например, на с отображенной памятью от устройства PCI. Кроме того, эта функция включает барьер памяти в системах со слабо упорядоченными архитектурами памяти.

    Объявление

    Objective C

    UInt8 OSBitXorAtomic8 ( UInt32 mask, volatile UInt8 *address );

    Параметры

    mask

    Маска к логически или со значением.

    address

    Адрес значения для обновления атомарно.

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

    Значение перед битовой операцией.

    Обсуждение

    OSBitXorAtomic8 функционируют логически xors биты указанной маски в значение в указанном адресе и возвратах исходное значение.

    Оператор импорта

    Objective C

    #include <OSAtomic.h>;

    Доступность

    Доступный в OS X v10.0 и позже.

  • Сравните и подкачайте работу, выполняемую атомарно относительно всех устройств, участвующих в архитектуре когерентности платформы.

    Объявление

    Objective C

    Boolean OSCompareAndSwap ( UInt32 oldValue, UInt32 newValue, volatile UInt32 *address );

    Параметры

    oldValue

    Значение для сравнения в адресе.

    newValue

    Значение для записи, чтобы адресоваться, если oldValue сравнивает истину.

    address

    4 байта выровняли адрес данных для обновления атомарно.

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

    истина, если newValue был записан в адрес.

    Обсуждение

    Функция OSCompareAndSwap сравнивает значение в указанном адресе с oldVal. Значение newValue записано в адрес, только если oldValue и значение в адресе равны. Если newValue записан в адрес, OSCompareAndSwap возвращает true; иначе, это возвращает false.

    Эта функция гарантирует атомарность только с главной системной памятью. Это является в частности неподходящим для использования на некэшируемой памяти, такой как это в устройствах; эта функция не может гарантировать атомарность, например, на с отображенной памятью от устройства PCI. Кроме того, эта функция включает барьер памяти в системах со слабо упорядоченными архитектурами памяти.

    Оператор импорта

    Objective C

    #include <OSAtomic.h>;

    Доступность

    Доступный в OS X v10.0 и позже.

  • 64-разрядный сравнивают и подкачивают работу.

    Объявление

    Objective C

    Boolean OSCompareAndSwap64 ( UInt64 oldValue, UInt64 newValue, volatile UInt64 *address );

    Обсуждение

    Посмотрите OSCompareAndSwap.

    Оператор импорта

    Objective C

    #include <OSAtomic.h>;

    Доступность

    Доступный в OS X v10.5 и позже.

  • Сравните и подкачайте работу, выполняемую атомарно относительно всех устройств, участвующих в архитектуре когерентности платформы.

    Объявление

    Objective C

    Boolean OSCompareAndSwapPtr ( void *oldValue, void *newValue, void * volatile *address );

    Параметры

    oldValue

    Значение указателя для сравнения в адресе.

    newValue

    Значение указателя для записи, чтобы адресоваться, если oldValue сравнивает истину.

    address

    Размер указателя выровнял адрес данных для обновления атомарно.

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

    истина, если newValue был записан в адрес.

    Обсуждение

    Функция OSCompareAndSwapPtr сравнивает значение размера указателя в указанном адресе с oldVal. Значение newValue записано в адрес, только если oldValue и значение в адресе равны. Если newValue записан в адрес, OSCompareAndSwapPtr возвращает true; иначе, это возвращает false.

    Эта функция гарантирует атомарность только с главной системной памятью. Это является в частности неподходящим для использования на некэшируемой памяти, такой как это в устройствах; эта функция не может гарантировать атомарность, например, на с отображенной памятью от устройства PCI. Кроме того, эта функция включает барьер памяти в системах со слабо упорядоченными архитектурами памяти.

    Оператор импорта

    Objective C

    #include <OSAtomic.h>;

    Доступность

    Доступный в OS X v10.6 и позже.

  • 32-разрядная декрементная работа, выполняемая атомарно относительно всех устройств, участвующих в архитектуре когерентности платформы.

    Объявление

    Objective C

    SInt32 OSDecrementAtomic ( volatile SInt32 *address );

    Параметры

    address

    4 байта выровняли адрес значения для обновления атомарно.

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

    Значение перед декрементом.

    Обсуждение

    Функция OSDecrementAtomic постепенно уменьшает значение в указанном адресе одним и возвращает исходное значение.

    Эта функция гарантирует атомарность только с главной системной памятью. Это является в частности неподходящим для использования на некэшируемой памяти, такой как это в устройствах; эта функция не может гарантировать атомарность, например, на с отображенной памятью от устройства PCI. Предыдущие воплощения этой функции включили барьер памяти в системах со слабо упорядоченными архитектурами памяти, но текущие версии не содержат барьеров.

    Оператор импорта

    Objective C

    #include <OSAtomic.h>;

    Доступность

    Доступный в OS X v10.0 и позже.

  • 16-разрядная декрементная работа, выполняемая атомарно относительно всех устройств, участвующих в архитектуре когерентности платформы.

    Объявление

    Objective C

    SInt16 OSDecrementAtomic16 ( volatile SInt16 *address );

    Параметры

    address

    2 байта выровняли адрес значения для обновления атомарно.

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

    Значение перед декрементом.

    Обсуждение

    Функция OSDecrementAtomic16 постепенно уменьшает значение в указанном адресе одним и возвращает исходное значение.

    Эта функция гарантирует атомарность только с главной системной памятью. Это является в частности неподходящим для использования на некэшируемой памяти, такой как это в устройствах; эта функция не может гарантировать атомарность, например, на с отображенной памятью от устройства PCI. Предыдущие воплощения этой функции включили барьер памяти в системах со слабо упорядоченными архитектурами памяти, но текущие версии не содержат барьеров.

    Оператор импорта

    Objective C

    #include <OSAtomic.h>;

    Доступность

    Доступный в OS X v10.0 и позже.

  • 64-разрядный декремент.

    Объявление

    Objective C

    SInt64 OSDecrementAtomic64 ( volatile SInt64 *address );

    Обсуждение

    Посмотрите OSDecrementAtomic.

    Оператор импорта

    Objective C

    #include <OSAtomic.h>;

    Доступность

    Доступный в OS X v10.5 и позже.

  • 8-разрядная декрементная работа, выполняемая атомарно относительно всех устройств, участвующих в архитектуре когерентности платформы.

    Объявление

    Objective C

    SInt8 OSDecrementAtomic8 ( volatile SInt8 *address );

    Параметры

    address

    Адрес значения для обновления атомарно.

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

    Значение перед декрементом.

    Обсуждение

    Функция OSDecrementAtomic8 постепенно уменьшает значение в указанном адресе одним и возвращает исходное значение.

    Эта функция гарантирует атомарность только с главной системной памятью. Это является в частности неподходящим для использования на некэшируемой памяти, такой как это в устройствах; эта функция не может гарантировать атомарность, например, на с отображенной памятью от устройства PCI. Предыдущие воплощения этой функции включили барьер памяти в системах со слабо упорядоченными архитектурами памяти, но текущие версии не содержат барьеров.

    Оператор импорта

    Objective C

    #include <OSAtomic.h>;

    Доступность

    Доступный в OS X v10.0 и позже.

  • 32-разрядная инкрементная работа, выполняемая атомарно относительно всех устройств, участвующих в архитектуре когерентности платформы.

    Объявление

    Objective C

    SInt32 OSIncrementAtomic ( volatile SInt32 *address );

    Параметры

    address

    4 байта выровняли адрес значения для обновления атомарно.

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

    Значение перед инкрементом.

    Обсуждение

    Функция OSIncrementAtomic постепенно увеличивает значение в указанном адресе одним и возвращает исходное значение.

    Эта функция гарантирует атомарность только с главной системной памятью. Это является в частности неподходящим для использования на некэшируемой памяти, такой как это в устройствах; эта функция не может гарантировать атомарность, например, на с отображенной памятью от устройства PCI.

    Оператор импорта

    Objective C

    #include <OSAtomic.h>;

    Доступность

    Доступный в OS X v10.0 и позже.

  • 16-разрядная инкрементная работа, выполняемая атомарно относительно всех устройств, участвующих в архитектуре когерентности платформы.

    Объявление

    Objective C

    SInt16 OSIncrementAtomic16 ( volatile SInt16 *address );

    Параметры

    address

    2 байта выровняли адрес значения для обновления атомарно.

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

    Значение перед инкрементом.

    Обсуждение

    Функция OSIncrementAtomic16 постепенно увеличивает значение в указанном адресе одним и возвращает исходное значение.

    Эта функция гарантирует атомарность только с главной системной памятью. Это является в частности неподходящим для использования на некэшируемой памяти, такой как это в устройствах; эта функция не может гарантировать атомарность, например, на с отображенной памятью от устройства PCI. Предыдущие воплощения этой функции включили барьер памяти в системах со слабо упорядоченными архитектурами памяти, но текущие версии не содержат барьеров.

    Оператор импорта

    Objective C

    #include <OSAtomic.h>;

    Доступность

    Доступный в OS X v10.0 и позже.

  • 64-разрядный инкремент.

    Объявление

    Objective C

    SInt64 OSIncrementAtomic64 ( volatile SInt64 *address );

    Обсуждение

    Посмотрите OSIncrementAtomic.

    Оператор импорта

    Objective C

    #include <OSAtomic.h>;

    Доступность

    Доступный в OS X v10.5 и позже.

  • 8-разрядная инкрементная работа, выполняемая атомарно относительно всех устройств, участвующих в архитектуре когерентности платформы.

    Объявление

    Objective C

    SInt8 OSIncrementAtomic8 ( volatile SInt8 *address );

    Параметры

    address

    Адрес значения для обновления атомарно.

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

    Значение перед инкрементом.

    Обсуждение

    Функция OSIncrementAtomic8 постепенно увеличивает значение в указанном адресе одним и возвращает исходное значение.

    Эта функция гарантирует атомарность только с главной системной памятью. Это является в частности неподходящим для использования на некэшируемой памяти, такой как это в устройствах; эта функция не может гарантировать атомарность, например, на с отображенной памятью от устройства PCI. Предыдущие воплощения этой функции включили барьер памяти в системах со слабо упорядоченными архитектурами памяти, но текущие версии не содержат барьеров.

    Оператор импорта

    Objective C

    #include <OSAtomic.h>;

    Доступность

    Доступный в OS X v10.0 и позже.

  • Подпрограмма OSSynchronizeIO гарантирует организованную загрузку и операции хранилища к некэшируемым устройствам ввода-вывода с отображенной памятью.

    Объявление

    Objective C

    void OSSynchronizeIO ( void );

    Обсуждение

    Подпрограмма OSSynchronizeIO гарантирует организованную загрузку и операции хранилища к некэшируемым устройствам ввода-вывода с отображенной памятью. Это выполняет eieio инструкцию на процессорах PowerPC.

    Оператор импорта

    Objective C

    #include <OSAtomic.h>;

    Доступность

    Доступный в OS X v10.0 и позже.

  • Контроль битов и ясная работа, выполняемая атомарно относительно всех устройств, участвующих в архитектуре когерентности платформы.

    Объявление

    Objective C

    Boolean OSTestAndClear ( UInt32 bit, volatile UInt8 *startAddress );

    Параметры

    bit

    Разрядное число в диапазоне 0 до 7.

    startAddress

    Адрес байта для обновления атомарно.

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

    истина, если бит был уже ясным, ложным иначе.

    Обсуждение

    Функция OSTestAndClear очищает единственный бит в байте в указанном адресе. Если бит был уже ясным, ложным иначе, это возвращает true.

    Эта функция гарантирует атомарность только с главной системной памятью. Это является в частности неподходящим для использования на некэшируемой памяти, такой как это в устройствах; эта функция не может гарантировать атомарность, например, на с отображенной памятью от устройства PCI. Кроме того, эта функция включает барьер памяти в системах со слабо упорядоченными архитектурами памяти.

    Оператор импорта

    Objective C

    #include <OSAtomic.h>;

    Доступность

    Доступный в OS X v10.0 и позже.

  • Контроль битов и операция присвоения, выполняемая атомарно относительно всех устройств, участвующих в архитектуре когерентности платформы.

    Эта функция гарантирует атомарность только с главной системной памятью. Это является в частности неподходящим для использования на некэшируемой памяти, такой как это в устройствах; эта функция не может гарантировать атомарность, например, на с отображенной памятью от устройства PCI. Кроме того, эта функция включает барьер памяти в системах со слабо упорядоченными архитектурами памяти.

    Объявление

    Objective C

    Boolean OSTestAndSet ( UInt32 bit, volatile UInt8 *startAddress );

    Параметры

    bit

    Разрядное число в диапазоне 0 до 7.

    startAddress

    Адрес байта для обновления атомарно.

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

    истина, если бит был уже установлен, ложь иначе.

    Обсуждение

    Функция OSTestAndSet устанавливает единственный бит в байте в указанном адресе. Если бит был уже установлен, ложь иначе, это возвращает true.

    Оператор импорта

    Objective C

    #include <OSAtomic.h>;

    Доступность

    Доступный в OS X v10.0 и позже.

Типы данных

Посмотрите раздел Overview выше для документации уровня заголовка.

  • Тип данных для спин-блокировки.

    Объявление

    Objective C

    typedef SInt32 OSSpinLock;

    Обсуждение

    Необходимо всегда инициализировать спин-блокировку к OS_SPINLOCK_INIT перед использованием его.

    Оператор импорта

    Objective C

    #include <OSAtomic.h>;

    Доступность

    Доступный в OS X v10.7 и позже.

Константы

Посмотрите раздел Overview выше для документации уровня заголовка.

  • Объявление

    Objective C

    #define OS_SPINLOCK_INIT 0

    Константы

    • OS_SPINLOCK_INIT

      OS_SPINLOCK_INIT

      Значение по умолчанию для OSSpinLock.

      Соглашение состоит в том, что разблокированный нуль, заблокированный является ненулевым.

      Доступный в OS X v10.7 и позже.