繁体   English   中英

NSOperationQueue不限制并发操作

[英]NSOperationQueue not limiting concurrent operations

NSOperationQueue *myQueue = [[NSOperationQueue alloc] init];
    myQueue.MaxConcurrentOperationCount = 1;

    [myQueue addOperationWithBlock: ^ {
        NSLog(@"started");
        [self aVeryLongOperation];
    }];

并发操作的数量限制为一个,但是尽管如此,它们都会开始。 说添加了三个操作,并且控制台中的输出如下:

2014-09-09 17:51:02.705 Sample App [7356:7e03] started
2014-09-09 17:51:03.840 Sample App [7356:7e03] started
2014-09-09 17:51:04.495 Sample App [7356:7e03] started

我实际上如何将并发操作数限制为仅一个?

问题是在函数aVeryLongOperation内部产生了一个后台线程,在该线程上完成了所有工作。 因此该函数在产生该线程后立即返回,并且从队列中执行下一个任务。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM