码迷,mamicode.com
首页 > 其他好文 > 详细

高并发基础

时间:2018-10-16 17:49:15      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:部分   png   共享数据   时间   允许   http   优先级   占用   工作   

 

1,线程

 1,同步和异步

 2,临界区

   用来表示一种公共资源或者说是共享数据,可以被多个线程使用。但是每一次,只能有一个线程使用,其余的线程要等待临界区资源释放。

 3,阻塞和非阻塞:

   阻塞:一个线程占用临界区,其余线程不能进入临界区的时候叫做阻塞。

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

 4,死锁,活锁,饥饿

   死锁:多个线程都不能再执行。 静态死锁。

   活锁:举例是一个资源中有资源A和资源B,两个线程一个拿到资源A,一个拿到资源B.因为都无法工作,两个资源会同时释放,看到A和B都可以拿到,然后同时再去拿资源,又会发生一个线程得到一部分资源的情况,然后无法运行。这种情况叫做活锁,动态活锁,

   饥饿:有可能因优先级比较低,而使得分配不到资源的情况叫做饥饿。

 2,并发级别

  阻塞调度:一个线程占用临界区,其余线程不能进入临界区的时候叫做阻塞。

  非障碍调度:多个线程可以同时进入临界区,宽进严出。无竞争时,有限步内完成操作。有竞争时,回滚数据。

  无锁:非障碍的情况下,每一次竞争,保证一个线程可以胜出。

  无等待:前提是无锁,然后再要求在有限步骤内完成。

3.阿姆达尔定律,古斯塔夫森定律(待扩展)

  阿姆达尔定律

    加速比:优化前的时间/优化后的时间

  技术分享图片

 

    

 

高并发基础

标签:部分   png   共享数据   时间   允许   http   优先级   占用   工作   

原文地址:https://www.cnblogs.com/xiayuer0114/p/9798674.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!