title: Do NSOperations and their completionBlocks run concurrently?
body: <p>I've got a bunch of <code>NSOperations</code> added to a <code>NSOperationQueue</code>. The operation queue has the <code>maxConcurrentOperationCount</code> set to 1, so that the <code>NSOperations</code> run one after the other.</p>
  
  <p>Now, in the <code>completionBlock</code> of a <code>NSOperation</code> I want to cancel all pending <code>NSOperations</code> by calling <code>cancelAllOperations</code> on the <code>NSOperationQueue</code>. </p>
  
  <p>Is it safe to do this? Can I be sure that the <code>start</code>-method of the next operation is called only after the <code>completionBlock</code> of the previous operation has been fully executed? Or do the <code>completionBlock</code> of the previous operation and the task of the current operation run concurrently?</p>
  
  <p>The reason why I'm asking: I use AFNetworking to execute a batch of <code>AFHTTPRequestOperations</code> and want to perform one request only if all previous requests of the batch were successful.</p>