美文网首页
//串行的队列都是按照顺序来执行。就是任务1 -> 任务2

//串行的队列都是按照顺序来执行。就是任务1 -> 任务2

作者: 来敲代码 | 来源:发表于2017-10-16 20:51 被阅读22次
    //串行队列 同步执行任务 会在当前线程内执行  //所以打印的会是当前线程的编号 不一定是主线程  
    -(void)demo  
    {  
        //创建串行队列 DISPATCH_QUEUE_SERIAL  
        //   并行队列 DISPATCH_QUEUE_CONCURRENT  
        dispatch_queue_t queue=dispatch_queue_create("itcast", DISPATCH_QUEUE_SERIAL);  
          
        //创建任务  
        dispatch_block_t task1=^{  
            NSLog(@"%@  同步执行了方法1",[NSThread currentThread]);  
        };  
          
        dispatch_block_t task2=^{  
            NSLog(@"%@  同步执行了方法2",[NSThread currentThread]);  
        };  
          
          
        //加入队列  
          
        //同步的方式 执行队列  
        dispatch_sync(queue, task1);  
          
        dispatch_sync(queue, task2);  
          
          
    }  
      
      
    //异步的方式 执行串行队列 会创建一个新的线程来执行任务  
    -(void)demo2  
    {  
        //创建串行队列 DISPATCH_QUEUE_SERIAL  
        //   并行队列 DISPATCH_QUEUE_CONCURRENT  
        dispatch_queue_t queue=dispatch_queue_create("itcast", DISPATCH_QUEUE_SERIAL);  
          
        //创建任务  
        dispatch_block_t task1=^{  
            NSLog(@"%@  异步执行了方法1",[NSThread currentThread]);  
        };  
          
        dispatch_block_t task2=^{  
            NSLog(@"%@  异步执行了方法2",[NSThread currentThread]);  
        };  
          
          
        //加入队列  
          
        //异步的方式 执行队列  
          
        //会顺序执行  
        dispatch_async(queue, task1);  
          
        dispatch_async(queue, task2);  
          
          
    }  ```

    相关文章

      网友评论

          本文标题://串行的队列都是按照顺序来执行。就是任务1 -> 任务2

          本文链接:https://www.haomeiwen.com/subject/advluxtx.html