首页
AI Coding
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
底层
订阅
KangJX
更多收藏集
微信扫码分享
微信
新浪微博
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
默认情况下,因为分类底层结构的限制,不能添加成员变量到分类中。但可以通过关联对象来间接实现,关联对象原理