温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

线程 队列 创建线程

发布时间:2020-07-05 16:32:21 来源:网络 阅读:275 作者:缘起愿落 栏目:开发技术


    队列会帮我们创建一个辅助线程 . 里面只能添加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];
    
    




向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI