功能 | OC | Swift |
---|---|---|
获取主队列 | dispatch_queue_t q = dispatch_get_main_queue(); | DispatchQueue.main |
获取全局队列 | dispatch_queue_t q = dispatch_get_global_queue(优先级, 0); 1. DISPATCH_QUEUE_PRIORITY_HIGH 2 高 2. DISPATCH_QUEUE_PRIORITY_DEFAULT 0 默认 3. DISPATCH_QUEUE_PRIORITY_LOW -2 低 4. DISPATCH_QUEUE_PRIORITY_BACKGROUND INT16_MIN 2 后台优先级 |
DispatchQueue.global(qos: 优先级) 1. .userInteractive 需要用户交互的 2. .userInitiated 即将需要 3. .default 默认优先级 4. .utility 需要执行一段时间后,再通知用户 |
创建队列 | dispatch_create(“标识”, DISPATCH_QUEUE_SERIAL/CONCURRENT); | DispatchQueue(label: “标识”, qos: 优先级, attributes: .concurrent 默认是串型) |
异步/同步 | dispatch_async(q, ^{…}); dispatch_sync(q, ^{…}); |
q.async{…} q.sync{…} |
Barrier | dispatch_barrier_async(q, ^{…}); | queue.async(flags |
iOS GCD常用方法总结(oc+swift)
于 2021-02-28 11:30:31 首次发布