iOS 多线程 -----GCD讲解

好久没写文章  最近看到一篇博客 是关于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,串行队列      让任务一个接一个地执行(一个任务执行完毕后,再执行下一个任务)

最后总结   同步 异步 并发 串行

同步和异步决定了要不要开启新的线程

    同步:在当前线程中执行任务,不具备开启新线程能力

    异步:在新的线程中执行任务,具备开启新线程的能力

并发和串行决定了任务的执行方式

  并发:多个任务(同时)执行

  串行: 一个任务执行完毕后,在执行下一个任务


这是纯理论知识 代码还没有整理好  待续哦

你可能感兴趣的:(iOS 多线程 -----GCD讲解)