多线程GCD-补充

1、dispatch_sync(queue, block)同步提交job 

2、dispatch_async (queue, block) 异步提交job 

3、dispatch_after(time, queue, block) 同步延迟提交job 

其中第一个参数类型是dispatch_queue_t,就是一个表示队列的数据结构typedef struct dispatch_queue_s *dispatch_queue_t;

block就是表示任务的Blocktypedef void (^dispatch_block_t)( void);


4、dispatch_async和dispatch_after函数是异步非阻塞的,调用后会立刻返回,工作由系统在线程池中分配线程去执行工作。

5、dispatch_sync是阻塞式的,会一直等到添加的工作完成后才会返回。

6、除了添加BlockDispatch Queue,还有添加函数到Dispatch Queue的接口,例如dispatch_async对应的有dispatch_async_f

dispatch_async_f(dispatch_queue_t queue,

               void *context,

               dispatch_function_t work);

其中第三个参数就是个函数指针,即typedef void (*dispatch_function_t)(void *);;第二个参数是传给这个函数的参数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值