1
我不知道会有多少线程,如果我在我的每一个视图控制器一个NSOperationQueue,那就是,我在我的应用程序许多NSOperationQueues。许多NSOperationQueues =多少线程?
谢谢。
我不知道会有多少线程,如果我在我的每一个视图控制器一个NSOperationQueue,那就是,我在我的应用程序许多NSOperationQueues。许多NSOperationQueues =多少线程?
谢谢。
每NSOperationQueue
,运行时,其当前NSOperation
的执行是以一个单独的线程。
如果您通过1
传递-setMaxConcurrentOperationCount:
,那么在任何给定时间您都可以保证只有一个NSOperation
在队列中运行。 (即串行队列)。
否则,你的NSOperationQueue
可能有多达NSOperationQueueDefaultMaxConcurrentOperationCount
线程在任何给定的时间运行。
队列数量,并发操作数量和系统线程使用率之间没有严格的一对一关系。 NSOperationQueue是建立在GCD的顶部(如10.6和iOS),因此,会产生如由系统确定其线程使用的限制。 –
@AshleyClark我看到这对NSOperationQueue类参考文档:注:在iOS系统中,操作队列不使用大中央调度来执行操作。他们为非并发操作创建单独的线程,并从当前线程启动并发操作。有关并发和非并发操作与执行方式之间区别的讨论,请参见NSOperation类参考。 – nonamelive
@nonamelive好吧,看起来我是对的......? ;) –