美文网首页
多线程之NSThread

多线程之NSThread

作者: sky_fighting | 来源:发表于2019-04-19 13:03 被阅读0次

NSThread:每个NSThread对象对应一个线程,量级较轻。
优点:轻量级,使用简单
缺点:需要自己管理线程的生命周期,线程同步,加锁,睡眠以及唤醒等,线程同步对数据的加锁有一定的系统开销

NSThread常用方法:
1.detachNewThreadSelector类方法,直接创建
示例:

- (void)threadLoad{
    for (UIImageView *imageView in self.imageViewSet) {
        //    派发一个线程---类方法detachNewThreadSelector
        [NSThread detachNewThreadSelector:@selector(threadLoadImage:) toTarget:self withObject:imageView];
    }
}

2.实例方法,需要start才能启动实例出来的线程
示例:

- (void)threadLoad{
    for (UIImageView *imageView in self.imageViewSet) {
//        实例化线程
        NSThread *thread = [[NSThread alloc] initWithTarget:self selector:@selector(threadLoadImage:) object:imageView];
        [thread start];
    }
}

缺点:控制线程的声明周期比较困难,控制并发线程数困难,控制先后顺序困难

[NSThread currentThread] 可以返回当前运行的线程,num = 1说明是主线程(在任何多线程技术中【NSThread、NSOperation、GCD】,都可以使用此方法查看当前线程情况)

持续完善中……

相关文章

网友评论

      本文标题:多线程之NSThread

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