多线程

作者: 59c4116645d0 | 来源:发表于2018-08-16 15:33 被阅读0次

GCD

一 :同步/异步  和  串行/并发

二:dispatch_barrier_async 解决多读单写的问题

三:dispatch_group 并发执行多个任务,完成后执行某个任务

NSOoeration的优点

·添加任务依赖

·任务执行状态控制

        1 isReady

        2 isExecuting

        3 isFinished

        4 isCancelled

应该怎么样控制NSOperation的状态?

        如果只重写 main 方法,底层控制变更任务执行完成状态以及任务退出

        如果重写 start 方法,自行控制任务状态

系统是怎样益处一个isFinished=Yes的NSOperation的?

        系统是通过kvo的方式控制

·最大并发量控制

NSThread

多线程和锁

iOS当中都有哪些锁?

    ·@synchronized 

        一般用来创建单例对象的时候使用,保证在多线程环境下创建对象是唯一的

    ·atomic

        修饰属性的关键字

        对被修饰对象进行原子性操作(不负责使用)

    ·OSSpinLock  自旋锁

        循环等待访问,不释放当前资源

        用于轻量级数据访问,简单的int值 +1/-1操作

    ·NSRecursiveLock 递归锁

不会产生死锁问题

    ·NSLock 用来解决线程同步问题  共享资源互斥/同步

    ·dispatch_semaphore_t  信号量  共享资源互斥/同步

        dispatch_semaphore_create(1);

        dispatch_semaphore_wait(semaphore,DISPATCH_TIME_FOREVER);

        dispatch_semaphore_signal(semaphore);

相关文章

  • iOS多线程 NSOperation

    系列文章: 多线程 多线程 pthread、NSThread 多线程 GCD 多线程 NSOperation 多线...

  • iOS多线程 pthread、NSThread

    系列文章: 多线程 多线程 pthread、NSThread 多线程 GCD 多线程 NSOperation 多线...

  • iOS多线程: GCD

    系列文章: 多线程 多线程 pthread、NSThread 多线程 GCD 多线程 NSOperation 多线...

  • iOS多线程运用

    系列文章: 多线程 多线程 pthread、NSThread 多线程 GCD 多线程 NSOperation 多线...

  • iOS多线程基础

    系列文章: 多线程 多线程 pthread、NSThread 多线程 GCD 多线程 NSOperation 多线...

  • 多线程介绍

    一、进程与线程 进程介绍 线程介绍 线程的串行 二、多线程 多线程介绍 多线程原理 多线程的优缺点 多线程优点: ...

  • iOS进阶之多线程管理(GCD、RunLoop、pthread、

    深入理解RunLoopiOS多线程--彻底学会多线程之『GCD』iOS多线程--彻底学会多线程之『pthread、...

  • iOS多线程相关面试题

    iOS多线程demo iOS多线程之--NSThread iOS多线程之--GCD详解 iOS多线程之--NSOp...

  • 多线程之--NSOperation

    iOS多线程demo iOS多线程之--NSThread iOS多线程之--GCD详解 iOS多线程之--NSOp...

  • iOS多线程之--NSThread

    iOS多线程demo iOS多线程之--NSThread iOS多线程之--GCD详解 iOS多线程之--NSOp...

网友评论

    本文标题:多线程

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