同步与异步
指的是方法调用,同步是当调用方法的时候需要等待返回在继续执行下面的代码,异步是开启新的线程处理,原线程无线等待异步返回继续执行下面的代码
并发与并行
并发:一会做事情 一会做另外一件事情
并行:两个线程或者进程同时进行
表象是都是同时进行的
临界区
相当于公共资源,所有的资源都可以访问临界区,在多线程同时进入临界区会导致临界区的数据混乱,所以需要得以控制。
阻塞与非阻塞(多线程的影响)
阻塞:指线程在操作层面被挂起,一般性能不太好但是特别简单。
非阻塞:运行很多线程同时进入临界区,只要保证不改坏临界区的数据。
死锁,饥饿,活锁
死锁:属于静态的问题,系统卡死,不占用cpu,进程相互占用不释放
饥饿:指某一个或者多个线程无法因某种原因无法获取到所需要资源,导致一直无法执行
活锁:电梯遇人的例子
并行级别
阻塞
非阻塞: 无障碍 无锁 无等待
并行相关的2各定律
1.Amdahl定律
加速比定义:优化前所需的时间/优化后的所需时间
n处理器的个数 F 串行比例
Tn = T1(F-1/n(1-F))
加速比=T1/Tn =1/(F+1/n(1-F))
2.Gustafson定律
网友评论