{
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]