NSOperation队列实实现多线程

  一:创建一个任务队列对象

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

    //设置最大并发任务数量

    [opretionQueue setMaxConcurrentOperationCount:5];

    二:三个实现方法

    方法一:直接创建任务

    //p1:任务函数的拥有者

    //p2:任务函数的执行体

    //p3:任意参数

    NSInvocationOperation *invocationO1 = [[NSInvocationOperation alloc] initWithTarget:self selector:@selector(opAction:) object:nil];

    [opretionQueue addOperation:invocationO1];//将任务添加到队列

    方法二:使用任务对象创建任务

    NSInvocation *invocation = [[NSInvocation alloc] init];

    invocation.target = self;

    invocation.selector = @selector(opAction:);

    NSInvocationOperation *invocationO2 = [[NSInvocationOperation alloc] initWithInvocation:invocation];

    [opretionQueue addOperation:invocationO2];

    

    方法三:使用Block来添加任务

    [opretionQueue addOperationWithBlock:^{

        //任务

    }];

 

posted @ 2016-07-14 14:40  ai_诺诺  阅读(279)  评论(0)    收藏  举报