- 博客(7)
- 收藏
- 关注
原创 Swift基于引用计算的ARC内存管理方案
Swift中ARC有3种引用跟OC一样,Swift也是采用基于引用计算的ARC内存管理方案(针对堆空间)1、强引用:默认情况下,引用都是强引用2、弱引用(weak):通过weak定义弱引用必须是可选类型的var,因为实例销毁后,ARC会自动将弱引用设置为nilARC自动给弱引用设置nil时,不会触发属性观察器3、无主引用(unowned):通过unowned定义无主引用不会产生强引用,实例销毁后仍然存储着实例的内存地址(类似于OC中的unsafe_unretained)试图销毁后访问无主引用,
2020-06-23 22:26:25
190
原创 Objective-C 中的 protocol关键字
Objective-C 中的 protocol 里存在 @optional 关键字,被这个关键字修饰的方法并非必须要被实现。我们可以通过协议定义一系列方法,然后由实现协议的类选择性地实现其中几个方法。最好的例子我想应该是 UITableViewDataSource 和 UITableViewDelegate。前者中有两个必要方法-tableView:numberOfRowsInSection:-tableView:cellForRowAtIndexPath:复制代码原生的 Swift protoco
2020-06-23 21:55:43
384
原创 UIApplicationMain在 C 系语言中的函数
UIApplicationMain在 C 系语言中,程序的入口都是 main 函数。对于一个 Objective-C 的 iOS app 项目,在新建项目时, Xcode 将帮我们准备好一个 main.m 文件,其中就有这个 main 函数int main(int argc, char * argv[]){@autoreleasepool {return UIApplicationMain(argc, argv, nil,NSStringFromClass([AppDelegate class])
2020-06-23 20:52:45
291
原创 NSCache和NSMutableDictionary的相同点与区别
NSCache和NSMutableDictionary的相同点与区别相同点:NSCache和NSMutableDictionary功能用法基本是相同的区别:NSCache是线程安全的,NSMutableDictionary线程不安全,Mutable开发的类一般都是线程不安全的当内存不足时NSCache会自动释放内存(所以从缓存中取数据的时候总要判断是否为空)NSCache可以指定缓存的限额,当缓存超出限额自动释放内存NSCache的Key只是对对象进行了Strong引用,而非拷贝,所以不需要实
2020-06-23 20:02:02
502
1
原创 pthread_mutex如何定义一组跨平台的线程相关的 API
pthread_mutex表示 POSIX thread,定义了一组跨平台的线程相关的 API,pthread_mutex 表示互斥锁。互斥锁的实现原理与信号量非常相似,不是使用忙等,而是阻塞线程并睡眠,需要进行上下文切换。如果临界区的执行时间过长,使用自旋锁不是个好主意。之前我们介绍过时间片轮转算法,线程在多种情况下会退出自己的时间片。其中一种是用完了时间片的时间,被操作系统强制抢占。除此以外,当线程进行 I/O 操作,或进入睡眠状态时,都会主动让出时间片。显然在 while 循环中,线程处于忙等状态,白
2020-06-23 15:06:42
204
原创 OSSpinLock在管理普通线程时的操作
现代操作系统在管理普通线程时,通常采用时间片轮转算法(Round Robin,简称 RR)。每个线程会被分配一段时间片(quantum),通常在 10-100 毫秒左右。当线程用完属于自己的时间片以后,就会被操作系统挂起,放入等待队列中,直到下一次被分配时间片。OSSpinLock 不再安全,主要原因发生在低优先级线程拿到锁时,高优先级线程进入忙等(busy-wait)状态,消耗大量 CPU 时间,从而导致低优先级线程拿不到 CPU 时间,也就无法完成任务并释放锁。这种问题被称为优先级反转。为什么忙等会
2020-06-23 14:58:02
126
转载 签到规则
签到规则说明1、累计签到5次,获取抽奖机会一次;2、签到勋章的发放及累计次数从10月21号后开始;3、签到次数及抽奖次数自签到之日起只保留三个月,三个月后自动过期;声明:活动中的相关问题请与优快云客服联系 kefu@youkuaiyun.com,我们会及时回复。...
2020-04-18 08:11:02
941
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅