好久没写文章 最近看到一篇博客 是关于GCD 想了下 嗯。。。。自己也不是很明白 然后找了下度娘 整理下文章 保存下来 为以后方便查看
说明:把右边的参数(任务)提交给左边的参数(队列)进行执行
1,用同步的方式执行任务 dispatch_sync(dispatch_queue_t queue, dispatch_block_t block);
参数说明:
queue : 队列
block : 任务
2,用异步的方式执行任务 dispatch_async(dispatch_queue_t,dispatch_block_t block);
同步和异步的区别
同步:在当前线程中执行
异步:在另一个线程中执行
队列的类型
1,并发队列 可以让多个任务(同时)执行并发功能只有在异步(dispatch_async)函数才有效
2,串行队列 让任务一个接一个地执行(一个任务执行完毕后,再执行下一个任务)
最后总结 同步 异步 并发 串行
同步和异步决定了要不要开启新的线程
同步:在当前线程中执行任务,不具备开启新线程能力
异步:在新的线程中执行任务,具备开启新线程的能力
并发和串行决定了任务的执行方式
并发:多个任务(同时)执行
串行: 一个任务执行完毕后,在执行下一个任务
这是纯理论知识 代码还没有整理好 待续哦
网友评论