ios多线程中gcd的优势及原理,线程池效率问题,何时需要取消线程任务

2025-03-09 12:52:50
推荐回答(1个)
回答1:

GCD

1.Apple提供的一套更底层、更高效的并发编程技术,纯C语言、基于Block
2.支持同步或异步任务处理,串行、并行的处理队列,非系统调用的信号量机制,定时任务处理,进程、文件或网络的监听任务等
优点

1.易用:GCD比之thread更简单易用。基于block的特性导致它能极为简单得在不同代
码作用域之间传递上下文

2.效率:GCD实现功能 轻量、优雅,使得它在很多地方比之专门创建消耗资源的线程更
实用且快速

3.性能:GCD自动根据系统负载来增减线程数量,这就减少了上下文切换以及增加了计
算效率

4.安全:无需加锁或其他同步机制

GCD内存管理

1.手动内存管理:dispatch_retain、dispatch_release
·dispatch函数名称中含有『create』的API在不需要其生成的对象时,必须通过dispatch_release 函数进行释放
2.ARC:iOS6之后GCD兼容ARC,不再需要用dispatch_retain或dispatch_release