Using the Operation and OperationQueue types
The Operation
and OperationQueue
types, working together, provide us with an alternative to GCD for adding concurrency to our applications. Operation queues are part of the Foundation framework and function like dispatch queues as they are a higher level of abstraction over GCD.
We define the tasks (operations) that we wish to execute and then add the tasks to the operation queue. The operation queue will then handle the scheduling and execution of tasks. Operation queues are instances of the OperationQueue
class and operations are instances of the Operation
class.
An operation represents a single unit of work or a task. The Operation
type is an abstract class that provides a thread-safe structure for modeling the state, priority, and dependencies. This class must be subclassed to perform any useful work; we will look at how to subclass this class in the Subclassing the Operation class section of this chapter.
Apple provides...