摘要: 本篇文章从通过源码分析来研究其实现原理。GCD的源码在libdispatch库中实现的可以在Apple Open Source下载。 1.创建信号量 通过dispatch_semaphore_create(value)创建一个信号量: /*! * @function dispatch_semapho 阅读全文
posted @ 2022-02-20 21:23 一眼万年的星空 阅读(805) 评论(0) 推荐(0)
摘要: Objective-C中,在声明属性时,通常会不假思索的使用nonatomic来修饰属性,但去面试的时候,总是被问到atomic,使我们不知从何说起,或者说只能简单的回答一句,atomic修饰的属性是「原子性」的,不能同时读写等。本篇文章就来探索一下atomic背后的原理。 1.寻找入口 因为声明属 阅读全文
posted @ 2022-02-20 21:22 一眼万年的星空 阅读(599) 评论(0) 推荐(0)
摘要: 一、进程与线程 1.1 进程 进程是系统进行资源分配和调度的基本单位,在iOS上,一个App运行起来的实例就是一个进程,每个进程在内存中都有自己独立的地址段。 1.2 线程 线程是进程的基本执行单元,进程中的所有任务都在线程中执行,因此,一个进程中至少要有一个线程。iOS程序启动后会默认开启一个主线 阅读全文
posted @ 2022-02-20 20:59 一眼万年的星空 阅读(2300) 评论(0) 推荐(0)