美文网首页
对 NSThread、NSOperationQueue 和 GC

对 NSThread、NSOperationQueue 和 GC

作者: 不泯iOS | 来源:发表于2021-07-23 14:40 被阅读0次
    • GCD

      • 抽象程度最高。
      • 两种队列开箱即用:main 和 global。
      • 可以创建更多的队列(使用 dispatch_queue_create)。
      • 可以请求独占访问(使用 dispatch_barrier_sync 和 dispatch_barrier_async)。
      • 基于线程管理。
      • 硬性限制创建 64 个线程。
    • NSOperationQueue

      • 无默认队列。
      • 应用管理自己创建的队列。
      • 队列是优先级队列。
      • 操作可以有不同的优先级(使用 queuePriority 属性)。
      • 使用 cancel 消息可以取消操作。注意,cancel 仅仅是个标记。如果操作已经开始
        执行,则可能会继续执行下去。
      • 可以等待某个操作执行完毕(使用 waitUntilFinished 消息)。
    • NSThread

      • 低级别构造,最大化控制。
      • 应用创建并管理线程。
      • 应用创建并管理线程池。
      • 应用启动线程。
      • 线程可以拥有优先级,操作系统会根据优先级调度它们的执行。
      • 无直接 API 用于等待线程完成。需要使用互斥量(如 NSLock)和自定义代码。

    相关文章

      网友评论

          本文标题:对 NSThread、NSOperationQueue 和 GC

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