ios多线程开发 GCD的基本使用
/**
*获取全局并发队列
*/
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
// 1.添加到异步任务队列中执行,开启新线程
dispatch_async(queue, ^{
// something
});
// 2.添加到同步任务队列中执行,不会开启新线程,并发队列失去并发功能
dispatch_sync(queue, ^{
// something
});
/**
*创建串行队列
*/
dispatch_queue_t _queue = dispatch_queue_create("w", NULL);
// 1.添加到异步任务队列中执行,会开启新线程,但是只开启一个线程
dispatch_async(_queue, ^{
});
// 2.添加到同步任务队列中执行,不会开启新线程,同步执行
dispatch_sync(_queue, ^{
});
/*
总结
同步任务队列
(1)并发队列:不会开线程
(2)串行队列:不会开线程
异步任务队列
(1)并发队列:能开启N条线程
(2)串行队列:开启1条线程
*/
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。