首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
底层
订阅
Coder_Kang
更多收藏集
微信扫码分享
微信
新浪微博
QQ
7篇文章 · 0订阅
iOS中如何设计多线程的读写安全
1. 线程安全 线程安全:不是指线程的安全,而是指内存的安全。每个进程的内存空间中都会有一块特殊的公共区域,通常称为堆(内存),当多个线程访问该区域,这就是造成线程不安全的本质原因。 2. 课前预习 多线程是如何同时访问内存的。不考虑CPU cache对变量的缓存,内存访问可以…
底层八:内存管理
iOS的内存管理,NSTimer、NSProxy、GCD定时器、内存布局、autorelease原理
底层六- RunLoop
概念: 一般来讲,一个线程一次只能执行一个任务,执行完成后线程就会退出。如果我们需要一个机制,让线程能随时处理事件但并不退出 从上面的代码可以看出,线程和 RunLoop 之间是一一对应的,其关系是保存在一个全局的 Dictionary 里。线程刚创建时并没有 RunLoop,…
底层五:Runtime
class_rw_t里面的methods、properties、protocols是二维数组,是可读可写的,包含了类的初始内容、分类的内容。class_ro_t的内容会被放到方法实现类数组methods的栈底,分类的方法会加载到栈顶的位置 达到快速查找方法的实现。以空间换取时间
底层七-多线程
产生死锁条件: 使用`sync`函数往`当前`的`串行队列`中添加任务,会卡住当前的串行队列(`产生死锁
底层二:KVO、KVC、NSNotification
KVO、KVC、NSNotification的实现原理以及使用方法介绍 KVO、KVC、NSNotification的实现原理以及使用方法介绍
底层三:Category
默认情况下,因为分类底层结构的限制,不能添加成员变量到分类中。但可以通过关联对象来间接实现,关联对象原理