多线程(-)概念

来源:互联网 发布:高级算法 编辑:程序博客网 时间:2024/06/01 10:55

异步:在进行的过程中,任务还没完成就返回结果,可以继续完成别的任务

同步:一件事完成后才可以完成另一件事

并行:----------------------》

         ------------------------》                                      同时执行

并发:————》--------------------》————————》---------------------》交替执行,

当在多CPU的时候,并发和并行表现一致

临界区:表示一种公工资源或者说是共享资源,可以被多个线程使用,但是每一次只能有一个线程使用它,一旦临界区资源被占用,其他线程要使用这个资源,就必须得等待。

阻塞:一个线程占用了临界区的资源,那么其他所需要的这个资源的线程就必须在这个临界区中等待,等待将会导致线程挂起,即阻塞

非阻塞:允许多个线程同时进入临界区。

死锁:静态问题,程序卡死,不再进行

饥饿:指某一个或者多个线程因为种种原因无法获得所需要的资源,导致一直无法执行

活锁:电梯遇人,互相释放资源又互相抢夺资源。

并发的级别:

阻塞:


无障碍:是一种最宽的非阻塞调度,自由出入临界区,,无竞争时,有限步内完成操作,有竞争时,回滚数据

无锁:是无障碍的,保证有一个线程可以胜出                                                            非阻塞

无等待:无锁的,需要所有的线程必须在有限步内完成,无饥饿的

加速比= 优化的系统耗时/优化后的系统耗时     

古斯塔夫森定律说明了,串行化比例和加速比之间的关系,只要有足够的并行化,那么加速比和CPU个数成正比。

0 0
原创粉丝点击