queue.h

2017-09-11  本文已影响19人  李潇南
void
dispatch_async(dispatch_queue_t queue, dispatch_block_t block);

void
dispatch_async_f(dispatch_queue_t queue,
    void *_Nullable context,
    dispatch_function_t work);

void
dispatch_sync(dispatch_queue_t queue, DISPATCH_NOESCAPE dispatch_block_t block);

void
dispatch_sync_f(dispatch_queue_t queue,
    void *_Nullable context,
    dispatch_function_t work);

void
dispatch_apply(size_t iterations, dispatch_queue_t queue,
        DISPATCH_NOESCAPE void (^block)(size_t));

void
dispatch_apply_f(size_t iterations, dispatch_queue_t queue,
    void *_Nullable context,
    void (*work)(void *_Nullable, size_t));

dispatch_queue_t
dispatch_get_current_queue(void);

dispatch_queue_t
dispatch_get_main_queue(void)
{
    return DISPATCH_GLOBAL_OBJECT(dispatch_queue_t, _dispatch_main_q);
}

dispatch_queue_t
dispatch_get_global_queue(long identifier, unsigned long flags);

struct dispatch_queue_attr_s _dispatch_queue_attr_concurrent;

dispatch_queue_attr_t
dispatch_queue_attr_make_initially_inactive(
        dispatch_queue_attr_t _Nullable attr);

dispatch_queue_attr_t
dispatch_queue_attr_make_with_autorelease_frequency(
        dispatch_queue_attr_t _Nullable attr,
        dispatch_autorelease_frequency_t frequency);

dispatch_queue_attr_t
dispatch_queue_attr_make_with_qos_class(dispatch_queue_attr_t _Nullable attr,
        dispatch_qos_class_t qos_class, int relative_priority);

dispatch_queue_t
dispatch_queue_create_with_target(const char *_Nullable label,
    dispatch_queue_attr_t _Nullable attr, dispatch_queue_t _Nullable target)
    DISPATCH_ALIAS_V2(dispatch_queue_create_with_target);
dispatch_queue_t
dispatch_queue_create(const char *_Nullable label,
        dispatch_queue_attr_t _Nullable attr);

const char *
dispatch_queue_get_label(dispatch_queue_t _Nullable queue);

dispatch_qos_class_t
dispatch_queue_get_qos_class(dispatch_queue_t queue,
        int *_Nullable relative_priority_ptr);

void
dispatch_set_target_queue(dispatch_object_t object,
        dispatch_queue_t _Nullable queue);

void
dispatch_main(void);

void
dispatch_after(dispatch_time_t when,
    dispatch_queue_t queue,
    dispatch_block_t block);

void
dispatch_after_f(dispatch_time_t when,
    dispatch_queue_t queue,
    void *_Nullable context,
    dispatch_function_t work);

void
dispatch_barrier_async(dispatch_queue_t queue, dispatch_block_t block);

void
dispatch_barrier_async_f(dispatch_queue_t queue,
    void *_Nullable context,
    dispatch_function_t work);

void
dispatch_barrier_sync(dispatch_queue_t queue,
        DISPATCH_NOESCAPE dispatch_block_t block);

void
dispatch_barrier_sync_f(dispatch_queue_t queue,
    void *_Nullable context,
    dispatch_function_t work);

void
dispatch_queue_set_specific(dispatch_queue_t queue, const void *key,
    void *_Nullable context, dispatch_function_t _Nullable destructor);

void *_Nullable
dispatch_queue_get_specific(dispatch_queue_t queue, const void *key);

void *_Nullable
dispatch_get_specific(const void *key);

void
dispatch_assert_queue(dispatch_queue_t queue)
    DISPATCH_ALIAS_V2(dispatch_assert_queue);

void
dispatch_assert_queue_barrier(dispatch_queue_t queue);

void
dispatch_assert_queue_not(dispatch_queue_t queue)
    DISPATCH_ALIAS_V2(dispatch_assert_queue_not);

上一篇下一篇

猜你喜欢

热点阅读