Cocoa Programming for OS X: The Big Nerd Ranch Guide
by Aaron Hillegass, Adam Preble, Nate Chandler
NSOperationQueue
Frequently, multithreading is used for processing chunks of information in the background. In such cases, Cocoa’s NSOperationQueue provides a very mature framework for organizing the processing.
NSOperationQueue represents a collection of operations (encapsulated by NSOperation) and manages the execution of those operations on one or more threads. Every application has a main queue that represents the main thread; it is accessed using NSOperationQueue.mainQueue(). If the application needs additional queues, it can create and configure them simply by initializing a new NSOperationQueue.
By default, NSOperationQueue objects are configured to run several operations concurrently. The exact number is determined automatically ...