background image

{
        for (NSString *urlString in urlArray) 
        {
        NSURL *url = 
        [NSURL URLWithString:urlString];        PageLoadOperation *plo = 
        [[PageLoadOperation alloc] initWithURL:url];
        [queue addOperation:plo];
        [plo release];
        }
}
- (void)dealloc
{
        [queue release], queue = nil;
        [super dealloc];
}
+ (id)shared;
{
        if (!shared) {
            [[AppDelegate alloc] init];
        }
        return shared;
}
- (void)pageLoaded:(NSXMLDocument*)document;
{
        NSLog(@"%s Do something with the XMLDocument: %@",
             _cmd, document);
}
@end
NSOperationQueue 的并行控制(NSOperationQueue Concurrency)
    在上面这个简单的例子中,我们很难看出这些操作是并行运行的,然而,如果你你的操
作花费的时间远远比这里的要长,你将会发现,队列是同时执行这些操作的。幸运的是,如
果 你 想 要 为 队 列 限 制 同 时 只 能 运 行 几 个 操 作 , 你 可 以 使 用

NSOperationQueue 的

 

setMaxConcurrentOperationCount:方法。例如,[queue setMaxConcurrentOperationCount:2]