二、并发相关术语概念

学习内容

并发和并行

同步和异步

临界区

阻塞和非阻塞

死锁、饥饿、活锁

Amdahl定律、Gustafson定律、Sun-Ni 定律


并发和并行

解释一:

并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔发生。

解释二:

并行是在不同实体上的多个事件,并发是在同一实体上的多个事件。

同步和异步

同步和异步通常用来形容一次方法调用。同步方法调用一开始,调用者必须等待被调用的方法结束后,调用者后面的代码才能执行。而异步调用,指的是,调用者不用管被调用方法是否完成,都会继续执行后面的代码,当被调用的方法完成后会通知调用者。

阻塞和非阻塞

阻塞和非阻塞通常用来形容多线程间的相互影响,比如一个线程占有了临界区资源,那么其他线程需要这个资源就必须进行等待该资源的释放,会导致等待的线程挂起,这种情况就是阻塞,而非阻塞就恰好相反,它强调没有一个线程可以阻塞其他线程,所有的线程都会尝试地往前运行。

临界区

临界区用来表示一种公共资源或者说是共享数据,可以被多个线程使用。但是每个线程使用时,一旦临界区资源被一个线程占有,那么其他线程必须等待。

Amdahl定律、Gustafson定律、Sun-Ni 定律

Amdahl 定律:

在计算机体系架构设计过程中,某个部件的优化对整个架构的优化和改善是有上限的。

Gustafson 定律:

假设随着处理器个数的增加,并行与串行的计算总量也是可以增加的。Gustafson定律认为加速系数几乎跟处理器个数成正比,如果现实情况符合Gustafson定律的假设前提的话,那么软件的性能将可以随着处理个数的增加而增加。

Sun-Ni 定律:

充分利用存储空间等计算资源,尽量增大问题规模以产生更好/更精确的解。

猜你喜欢

转载自blog.csdn.net/qq_34988624/article/details/84943028
今日推荐