/**
*获取全局并发队列
*/
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条线程
*/