Spec-Zone.ru › GNU Fortran 5

8.2.13 _gfortran_caf_event_wait — Ожидание наступления события

Описание:
Ожидание, пока счётчик событий достигнет по меньшей мере указанного значения until_count; в случае достижения, атомарно уменьшает переменную события на это значение и возвращает результат.
Синтаксис:
void _gfortran_caf_event_wait (caf_token_t token, size_t index, int until_count, int *stat, char *errmsg, int errmsg_len)
Аргументы:
token intent(in) Непрозрачный указатель, идентифицирующий комассив.
index Индекс массива; первый индекс массива равен 0. Для скаляров всегда равен 0.
until_count Количество событий, которые должны быть доступны перед возвратом функции.
stat intent(out) Содержит значение STAT; может быть NULL.
errmsg intent(out) В случае ошибки содержит сообщение об ошибке; может быть NULL.
errmsg_len Размер буфера errmsg.
ПРИМЕЧАНИЯ
Эта функция работает только с локальным комассивом. Она работает как цикл, атомарно проверяя значение переменной события и прерывается, если значение больше или равно запрашиваемому числу счётов. Перед возвратом функции переменная события должна быть уменьшена на запрашиваемое значение until_count. Возможная реализация — цикл ожидания с определённым числом циклов (возможно, зависящим от количества потоков относительно количества доступных ядер), за которым следует другая стратегия ожидания, например, ожидание с задержкой (возможно, с увеличением времени задержки) или, при возможности, ожидание с помощью futex.

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

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-5.4.0/gfortran/_005fgfortran_005fcaf_005fevent_005fwait.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API