您的位置:首页 > 移动开发 > IOS开发

iOS 多线程 NSOperation的简单使用——iOS 编码复习(八)(多线程6)

2016-03-31 16:37 302 查看
使用NSOpretion和NSOperationQueue进行多线程开发就是将NSOperation放到NSOperationQueue这个队列中,线程就会依次启动。NSOperationQueue就是一个队列。而NSOperation是相当于一个抽象类,不能直接使用,所以我们一般都使用它的两个子类来实现:NSInvocationOperation和NSBlockOperation,它们本质没有很大区别,只是block使用更方便一点。我们可以在viewDidLoad看看NSOperation提供了哪些API

NSOperation * operate = [[NSOperationalloc]init];

    if (!operate.isExecuting) {//是否执行执行中

        if (!operate.isReady) {//任务是否准备好

            [operate start];//开始执行

        }

    }

    //7.0之前isConcurrent判断同步、异步,7.0之后

    if ([UIDevicecurrentDevice].systemVersion.intValue>7.0)
{

        if (operate.isAsynchronous) {

            NSLog(@"异步");

        }else{

            NSLog(@"同步");

        }

    }else{

        if (operate.isConcurrent) {

            NSLog(@"异步");

        }else{

            NSLog(@"同步");

        }

    }

    if (operate.isFinished) {//任务是否完成

        NSLog(@"完成");

    }

    if (operate.isCancelled) {//任务是否取消

        [operate cancel];//任务取消

    }
待续!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息