iosobjective-cnsoperationnsoperationqueue

Default value of maxConcurrentOperationCount for NSOperationQueue


As the title suggests, what is the default value of the maxConcurrentOperationCount for NSOperationQueue?

Is it set to a value of 1?


Solution

  • From the documentation,

    The maximum number of concurrent operations set explicitly on the receiver using the setMaxConcurrentOperationCount: method. If no value has been explicitly set, this method returns NSOperationQueueDefaultMaxConcurrentOperationCount by default.

    So it is NSOperationQueueDefaultMaxConcurrentOperationCount. If this is set, it will choose an appropriate value based on the number of available processors and other relevant factors.

    This is how it is defined:

    enum {
      NSOperationQueueDefaultMaxConcurrentOperationCount = -1
    };
    

    NSOperationQueueDefaultMaxConcurrentOperationCount: The default maximum number of operations is determined dynamically by the NSOperationQueue object based on current system conditions.