iOS多线程

作者: iOS小洁 | 来源:发表于2022-03-06 22:40 被阅读0次

多线程方案对比

技术方案 简介 编程语言 线程生命周期 使用频率
pthread 一套通用的多线程API
适用于Unix、Linux、Windows等系统
跨平台,可移植
使用难度大
C 程序员管理 几乎不用
NSThread 使用更加面向对象
简单易用,可直接操作线程对象
OC 程序员管理 偶尔使用
GCD 旨在替代NSThread等线程技术
充分利用设备的多核
C 自动管理 经常使用
NSOperation 基于GCD
比GCD多了一些简单实用的功能
使用更加面向对象
OC 自动管理 经常使用

各种队列执行效果

并发队列 串行队列 主队列
同步 没有开启新线程
串行执行任务
没有开启新线程
串行执行任务
没有开启新线程
串行执行任务
异步 有开启新线程
并发执行任务
有开启新线程
串行执行任务
没有开启新线程
串行执行任务

其中主队列是特殊的串行队列

全局队列是特殊的并发队列

** 使用sync函数往当前串行队列中添加任务,会卡住当前的串行队列(产生死锁)**

GCD多线程处理方案

线程组 dispash_group_t

dispash_group_t

异步栅栏函数 dispatch_barrier_async

dispatch_barrier_async

信号量 dispatch_semaphore

dispatch_semaphore

相关文章

网友评论

    本文标题:iOS多线程

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