Ссылка thread_call.h
Средства для выполнения работы асинхронно.
Включенные заголовки
<mach/mach_types.h>
<kern/clock.h>
<sys/cdefs.h>
-
Выделите вызов потока для выполнения с (высоким) приоритетом по умолчанию.
Объявление
Objective C
thread_call_t thread_call_allocate ( thread_call_func_t func, thread_call_param_t param0 );
Параметры
func
Обратный вызов для вызова, когда планируется вызов потока.
param0
Первый параметр ot передает обратному вызову.
Возвращаемое значение
Вызов потока, который может быть передан thread_call_enter вариантам.
Обсуждение
Выделяет вызов потока, который будет работать со свойствами THREAD_CALL_PRIORITY_HIGH, связывая первый параметр с обратным вызовом.
Оператор импорта
Objective C
#include <thread_call.h>;
Доступность
Доступный в OS X v10.0 и позже.
-
Выделите вызов потока для выполнения с указанным приоритетом.
Объявление
Objective C
thread_call_t thread_call_allocate_with_priority ( thread_call_func_t func, thread_call_param_t param0, thread_call_priority_t pri );
Параметры
func
Обратный вызов для вызова, когда планируется вызов потока.
param0
Первый параметр, который передаст обратному вызову.
pri
Приоритет элемента.
Возвращаемое значение
Вызов потока, который может быть передан thread_call_enter вариантам.
Обсуждение
Идентичный thread_call_allocate, за исключением того, что приоритет указан вызывающей стороной.
Оператор импорта
Objective C
#include <thread_call.h>;
Доступность
Доступный в OS X v10.8 и позже.
-
Попытайтесь отменить незаконченный вызов вызова потока.
Объявление
Objective C
boolean_t thread_call_cancel ( thread_call_t call );
Возвращаемое значение
TRUE, если вызов был успешно отменен, FALSE иначе.
Обсуждение
Попытайтесь отменить вызов потока, запланированный для выполнения с thread_call_enter* вариант. Если вызов еще не начал выполняться, незаконченный вызов будет отменен, и TRUE будет возвращен. Если единица работы уже начала выполняться, thread_call_cancel сразу возвратит FALSE; обратный вызов может собираться работать, в настоящее время рабочий, или уже сделанное выполнение.
Оператор импорта
Objective C
#include <thread_call.h>;
Доступность
Доступный в OS X v10.0 и позже.
-
Попытайтесь отменить незаконченный вызов вызова потока. Если неспособный для отмены ожидайте текущего вызова для окончания.
Объявление
Objective C
boolean_t thread_call_cancel_wait ( thread_call_t call );
Возвращаемое значение
TRUE, если вызов был успешно отменен, FALSE иначе.
Обсуждение
Попытайтесь отменить вызов потока, запланированный для выполнения с thread_call_enter* вариант. Если вызов еще не начал выполняться, незаконченный вызов будет отменен, и TRUE будет возвращен. Если единица работы уже начала выполняться, thread_call_cancel_wait ожидает нового вызова для окончания. Когда обращено единица работы, уже закончившаяся, это сразу возвратит FALSE. Обратите внимание на то, что эта подпрограмма может только использоваться на потоке, звонит набору или с thread_call_allocate или с thread_call_allocate_with_priority и этим вызовы вызова потока после того, как текущий вызов может быть в рейсе, когда возвращается thread_call_cancel_wait.
Оператор импорта
Objective C
#include <thread_call.h>;
Доступность
Доступный в OS X v10.8 и позже.
-
Утверждайте, что поток вызывает единицу работы для непосредственного выполнения.
Объявление
Objective C
boolean_t thread_call_enter ( thread_call_t call );
Параметры
call
Вызов потока для выполнения.
Возвращаемое значение
TRUE, если вызов уже находился на рассмотрении или для задержанного или для непосредственного выполнения, FALSE иначе.
Обсуждение
Если единица работы будет уже запланирована для задержанного выполнения, и это еще не начало работать, который задержался, то вызов будет отменен. Обратите внимание на то, что, если вызов потока перепланируется от его собственного обратного вызова, то многократные вызовы обратного вызова могут быть в рейсе одновременно.
Оператор импорта
Objective C
#include <thread_call.h>;
Доступность
Доступный в OS X v10.0 и позже.
-
Утверждайте, что поток вызывает единицу работы для непосредственного выполнения с дополнительным параметром.
Объявление
Objective C
boolean_t thread_call_enter1 ( thread_call_t call, thread_call_param_t param1 );
Параметры
call
Вызов потока для выполнения.
param1
Параметр для передачи обратного вызова.
Возвращаемое значение
TRUE, если вызов уже находился на рассмотрении или для задержанного или для непосредственного выполнения, FALSE иначе.
Обсуждение
Эта подпрограмма идентична thread_call_enter (), за исключением того, что указан второй параметр к обратному вызову.
Оператор импорта
Objective C
#include <thread_call.h>;
Доступность
Доступный в OS X v10.0 и позже.
-
Представьте вызов потока, который будет выполняться в некоторый момент в будущем с дополнительным параметром.
Объявление
Objective C
boolean_t thread_call_enter1_delayed ( thread_call_t call, thread_call_param_t param1, uint64_t deadline );
Параметры
call
Вызов потока для выполнения.
param1
Второй параметр к обратному вызову.
deadline
Время, в абсолютных единицах измерения времени, в которых можно выполнить обратный вызов.
Возвращаемое значение
TRUE, если вызов уже находился на рассмотрении или для задержанного или для непосредственного выполнения, FALSE иначе.
Обсуждение
Эта подпрограмма идентична thread_call_enter_delayed (), за исключением того, что указан второй параметр к обратному вызову.
Оператор импорта
Objective C
#include <thread_call.h>;
Доступность
Доступный в OS X v10.0 и позже.
-
Представьте вызов потока, который будет выполняться в некоторый момент в будущем.
Объявление
Objective C
boolean_t thread_call_enter_delayed ( thread_call_t call, uint64_t deadline );
Параметры
call
Вызов потока для выполнения.
deadline
Время, в абсолютных единицах измерения времени, в которых можно выполнить обратный вызов.
Возвращаемое значение
TRUE, если вызов уже находился на рассмотрении или для задержанного или для непосредственного выполнения, FALSE иначе.
Обсуждение
Если единица работы будет уже запланирована для задержанного или непосредственного выполнения, и это еще не начало работать, то тот вызов будет отменен в пользу выполнения в недавно требуемое время. Обратите внимание на то, что, если вызов потока перепланируется от его собственного обратного вызова, то многократные вызовы обратного вызова могут быть в рейсе одновременно.
Оператор импорта
Objective C
#include <thread_call.h>;
Доступность
Доступный в OS X v10.0 и позже.
-
Выпустите вызов потока.
Объявление
Objective C
boolean_t thread_call_free ( thread_call_t call );
Параметры
call
Вызов потока для выпуска.
Возвращаемое значение
TRUE, если вызов потока был успешно выпущен, еще FALSE.
Обсуждение
Должен только использоваться на вызовах потока, выделенных с thread_call_allocate или thread_call_allocate_with_priority. Как только thread_call_free вызвали, никакие другие операции не могут быть выполнены на вызове потока. Если вызов потока в настоящее время будет находиться на рассмотрении, то thread_call_free возвратит FALSE и не будет иметь никакого эффекта. Вызов thread_call_free от собственного обратного вызова вызова потока безопасен; единица работы не рассматривает «ожидание» в той точке.
Оператор импорта
Objective C
#include <thread_call.h>;
Доступность
Доступный в OS X v10.0 и позже.
-
Определите, находится ли вызов потока на рассмотрении или в настоящее время выполнение.
Объявление
Objective C
boolean_t thread_call_isactive ( thread_call_t call );
Параметры
call
Вызов потока для исследования.
Возвращаемое значение
TRUE, если вызов потока или планируется для выполнения (сразу или в некоторый момент в будущем) или в настоящее время выполняется.
Оператор импорта
Objective C
#include <thread_call.h>;
Доступность
Доступный в OS X v10.8 и позже.
Посмотрите раздел Overview выше для документации уровня заголовка.
-
Объявление
Objective C
typedef enum { THREAD_CALL_PRIORITY_HIGH = 0, THREAD_CALL_PRIORITY_KERNEL = 1, THREAD_CALL_PRIORITY_USER = 2, THREAD_CALL_PRIORITY_LOW = 3 } thread_call_priority_t;
Константы
-
THREAD_CALL_PRIORITY_HIGH
THREAD_CALL_PRIORITY_HIGH
Важность выше всего, но в реальном времени. Вызовы потока, выделенные с этим приоритетом, выполняются в чрезвычайно высоком приоритете выше всего кроме потоков в реальном времени. Они обычно выполняются в сериале. Хотя они могут выполниться одновременно при некоторых обстоятельствах, никакое разветвление на выходе не подразумевается. Эти единицы работы должны сделать очень мелкие суммы работы или рискнуть разрушать системную скорость отклика.
Доступный в OS X v10.8 и позже.
-
THREAD_CALL_PRIORITY_KERNEL
THREAD_CALL_PRIORITY_KERNEL
Важность, подобная тому из нормальных потоков ядра.
Доступный в OS X v10.8 и позже.
-
THREAD_CALL_PRIORITY_USER
THREAD_CALL_PRIORITY_USER
Важность, подобная тому из потоков обычного пользователя.
Доступный в OS X v10.8 и позже.
-
THREAD_CALL_PRIORITY_LOW
THREAD_CALL_PRIORITY_LOW
Очень низкая важность.
Доступный в OS X v10.8 и позже.
Обсуждение
Приоритеты вызова потока, как должно предполагаться, не имеют определенного численного значения; они должны быть интерпретированы как importances или роли для единиц работы, приоритеты, для которых будет обоснованно управляться подсистемой.
Оператор импорта
Objective C
#include <thread_call.h>;
Доступность
Доступный в OS X v10.8 и позже.
-