队列会帮我们创建一个辅助线程 . 里面只能添加NSOperation 以及子类的对象

    NSOperation 是一个操作单元 ,用来执行方法 , 是一个抽象类 , 必须子类化或者使用系统创建好的子类         (NSInvocationOperation 和 NSBlockOperation)
    NSOperation 是最小的操作单元, 只能执行一次

    

    队列 : 先进先出
     栈 :  先进后出
    
    
     队列里涉及到 串行 和 并行
     串行: 一次只能执行一个任务
     并行: 一次可以执行多个任务



     
    第一步 : 创建  InvocationOperation

    NSInvocationOperation * invocation = [[NSInvocationOperation alloc]initWithTarget:self selector:@selector(banZhuan) object:nil];
    
   第二步 : 执行 不添加到队列中时 .会在主线程中执行
   // [invocation start];



  创建  BlockOperation

    NSBlockOperation * block = [NSBlockOperation blockOperationWithBlock:^{
        [self banZhuan];
    }];
    
     第二步: 执行 不添加到队列中时 .会在主线程中执行
  //  [block start];



     NSOperationQueue * queue = [[NSOperationQueue alloc]init];
  

    只要把操作单元添加到队列中就会执行
      [queue addOperation:block];
       

    最大并行数  设置 1 串行  大于 1 并行
    [queue setMaxConcurrentOperationCount:1];
    
    
    [queue addOperations:@[invocation , block] waitUntilFinished:NO];
    [queue release];