中级:
MVC 理解:m 数据模型 v 视图对象 c控制器对象 ,不属于设计模式 ,属于架构设计
M: 存储 定义 操作数据
V: 用来展示数据给用户 ,和用户 进行操作交互。
C: M与V 的协调者 控制获取数据,将数据交给视图去展示。
线程 进程:
进程:具有一定独立功能的程序关于某个数据集合上的一次运行活动 ,是系统进行资源分配和调度的 一个独立的单位
线程: 是进城的一个实体 ,是cpu 调度分派的单位,比进程小, 线程自己基本不用系统资源,
进程 可包含多个线程 但至少得有一个, 资源分配个进程 同一个进程的所有线程 可以共享 该进程的所有资源,
线程 在执行中 需要 协作同步,不同进程的线程间要利用通信的方法实现同步
真正的处理机上运行的是 线程, 它是进程内的可执行单位
两者区别: 线程作为调度和分配的基本单元,进程作为拥有资源的基本单位。
进程可以并发执行,同一个进程的多个线程之间 也可以并发执行
进程拥有的资源是一个独立的单位, 线程不拥有系统资源 但是可以访问属于进程的资源
创建 或者撤销进程的开销比较大。
进程的同步机制: 原子操作, 信号量 机制,自旋锁 分布式系统。
进程死锁 原因: 资源竞争 及进程推进顺序非法。
死锁 4条件: 互斥 请求保持,不可剥夺 环路
KVC : 键值编码 : 间接访问对象实例变量的机制,可以不通过 存取方法 访问对象的实例变量
KVO: 键值观察: 使得对象获取其他对象属性变化的通知机制,(观察者)
实现kvo 模式需要被观察的对象必须使用kvc 键值编码来修改它的实例变量,这样才能被观察者。kvc 是 kvo 的基础
*********************************
高级