老青菜

iOS Synchronized 底层分析

iOS Lock

synchronizedobjc中提供的同步锁,支持递归。但是在swift中删除了,可以使用objc_sync替代。

Read more

iOS OSSpinLock

iOS Lock

自旋锁(Spinlock)是一种忙等待锁,线程反复检查锁变量是否可用,不会挂起,避免了进程上下文的调度开销,适合阻塞很短时间的场合。当然也就不适合单CPU单线程上使用。

Read more

iOS中常用的锁

iOS Lock

最近在整理iOS锁相关的知识,翻阅了网上很多iOS锁的文章,基本都是起源于ibireme不再安全的OSSpinlock。关于锁,多多少少会有下面这些疑问:

Read more

iOS isa 底层分析

objc

我们先来看一个问题,下面的代码会输出什么?

Read more

iOS weak 底层分析

objc
weak,弱引用,不会增加对象的引用计数,对象被释放的时候,指针自动被设置为nil,避免了野指针和循环引用的问题,使用如下: NSObject *obj = [[NSObject alloc] init]; __weak NSObject *obj1 = obj; 原理对于weak,obj ...
Read more
Prev Next