// 異步串行隊列
{
dispatch_queue_t Queue = dispatch_queue_create("queue", DISPATCH_QUEUE_SERIAL);
dispatch_async(Queue, ^{
});
}
//? 異步并行隊列
{
dispatch_queue_t Queue = dispatch_queue_create("queue", DISPATCH_QUEUE_CONCURRENT);
dispatch_async(Queue, ^{
});
}
// 同步串行隊列
{
dispatch_queue_t Queue = dispatch_queue_create("queue", DISPATCH_QUEUE_SERIAL);
dispatch_sync(Queue, ^{
});
}
// 同步并行隊列(同步不會自動創(chuàng)建線程洛口,并行需要多個線程,所以還是串行隊列)
{
dispatch_queue_t Queue = dispatch_queue_create("queue", DISPATCH_QUEUE_CONCURRENT);
dispatch_sync(Queue, ^{
});
}
// 異步主線程隊列通信
{
dispatch_queue_t mianQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0);
dispatch_async(mianQueue, ^{
dispatch_async(dispatch_get_main_queue(), ^{
});
});
}
// group線程組
{
dispatch_group_t groupQueue = dispatch_group_create();
dispatch_queue_t queue = dispatch_queue_create("queue", DISPATCH_QUEUE_SERIAL_INACTIVE);
dispatch_queue_t conQueue = dispatch_queue_create("queue", DISPATCH_QUEUE_CONCURRENT);
dispatch_queue_t mianQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0);
dispatch_group_async(groupQueue, queue, ^{
});
dispatch_group_async(groupQueue, conQueue, ^{
});
dispatch_group_async(groupQueue, mianQueue, ^{
});
dispatch_group_notify(groupQueue, dispatch_get_main_queue(), ^{
});
}
//
dispatch_queue_t mianQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0);
dispatch_apply(6, mianQueue, ^(size_t index) {
});
//
dispatch_queue_t Queue = dispatch_queue_create("queue", DISPATCH_QUEUE_CONCURRENT);
dispatch_async(Queue, ^{
});
dispatch_barrier_async(Queue, ^{
});
dispatch_async(Queue, ^{
});