高并发基础

Posted xiayuer0114

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了高并发基础相关的知识,希望对你有一定的参考价值。

 

1,线程

 1,同步和异步

 2,临界区

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

 3,阻塞和非阻塞:

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

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

 4,死锁,活锁,饥饿

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

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

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

 2,并发级别

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

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

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

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

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

  阿姆达尔定律

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

  技术分享图片

 

    

 

以上是关于高并发基础的主要内容,如果未能解决你的问题,请参考以下文章

并发编程的基础

高并发线程基础学习

高并发与高可用实战之基础知识大型网站架构特征

掌握系列之并发编程-1.并发基础

[Linux 高并发服务器]网络基础

高并发基础