dispatch_async(.., ^{block})里的block没有被执行

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);

 

posted @ 2014-06-14 20:03  性感的秋波  阅读(631)  评论(0编辑  收藏  举报