1 dispatch_queue_t queue = dispatch_queue_create("first", DISPATCH_QUEUE_SERIAL); 2 dispatch_async(queue, ^{ 3 // do something 4 dispatch_async(dispatch_get_main_queue(), ^{ 5 [_mainTableView reloadData]; 6 }); 7 });
今天练习的过程中上面的代码中block中的代码在没有没执行,是因为serial dispatch queue同时只能执行1个追加处理, 不执行的话可能是线程阻塞了,如果想要执行的处理没有先后顺序的话, 可以换成Concurrent dispatch queue
1 dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);