美文网首页iOS学习笔记
IOS GCD创建及应用----GCD总结

IOS GCD创建及应用----GCD总结

作者: 小熊_07cb | 来源:发表于2019-04-13 11:04 被阅读158次

今天来说说项目里常用的GCD应用:

上代码

看到上面代码是不是很熟悉,分解如下:

1、该方法的第一个参数是dispatch_queue,第二个参数是要执行的block。 

dispatch_async(dispatch_queue_t _Nonnull queue, ^{

    })

2、这个函数的第一个参数是dispatch_get_global_queue的优先级;第二个参数为保留值,始终传0.这个队列又叫做全局并行队列。

dispatch_get_global_queue(longidentifier, unsignedlong flags);GCD特殊的队列

3、dispatch_get_main_queue GCD特殊队列

Dispatch Queues的生成可以有这几种方式:

1. dispatch_queue_tqueue = dispatch_queue_create(“串行队列", DISPATCH_QUEUE_SERIAL); //生成一个串行队列,

2. dispatch_queue_t queue = dispatch_queue_create("并发队列", DISPATCH_QUEUE_CONCURRENT); //生成一个并发执行队列,

3. dispatch_queue_t queue = dispatch_get_main_queue(); //获得主线程的dispatch队列,实际是一个串行队列

4. dispatch_queue_t queue=dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0)//全局队列是并发队列,并由整个进程共享。进程中存在三个全局队列:高、中(默认)、低三个优先级队列。可以调用dispatch_get_global_queue函数传入优先级来访问队列

所以说再怎么变化  都是这4种创建方式的组合

注意:GCD队列就2种

1、Serial Dispatch Queue 等待现在执行中处理结束 等待执行 (串行)

2、Concurent Dispatch Queue 不等待现在执行中处理结束 立即执行 (并行)

相关文章

网友评论

    本文标题:IOS GCD创建及应用----GCD总结

    本文链接:https://www.haomeiwen.com/subject/dsrlwqtx.html