我想知道在以下表示为“A”和“B”的方法中使用 dispatch_async
之间有什么区别。
A
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
for (int i = 0; i < 10; i++)
{
// do something
}
});
B
for (int i = 0; i < 10; i++)
{
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
// do something
});
}
最佳答案
语句 A 产生一个新任务,它恰好包含一个循环。
语句 B 产生 10 个新任务,其中部分或全部任务可能要等到 for
循环完成后才能完成。
关于iphone - dispatch_async 是否在 for 语句中有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14984032/