首页 > 代码库 > NSOperationQueue小结

NSOperationQueue小结

将建立的线程增加队列之中。他们都是并发运行的  假设想有一个线程在另外一个线程之后再运行的话 有一个方法能够实现- (void)addDependency:(NSOperation *)op; 这一个在GCD中非常难实现的  仅仅有get_main_queue才是一个接着一个运行的 可是NSOperationQueue就自带的有这种方法  

两个线程并发运行,怎样在这两个线程运行完之后再运行第三个线程?

1:假设用NSOperationQueue实现的话就是先让这两个队列先运行。而且最好设置一个最大线程运行数setMaxConcurrentOperationCount:2 运行完之后有一个方法- (void)waitUntilAllOperationsAreFinished; 在这种方法里面写第三个线程的启动

2:假设用GCD实现的话。逻辑和NSOperation一样的,最后的方法换成dispatch_group_notify(group, dispatch_get_global_queue(0,0), ^{}

NSOperationQueue小结