美文网首页
JAVA并发(1)

JAVA并发(1)

作者: 学海无涯_18cd | 来源:发表于2017-07-15 13:02 被阅读0次

    同步与异步

       指的是方法调用,同步是当调用方法的时候需要等待返回在继续执行下面的代码,异步是开启新的线程处理,原线程无线等待异步返回继续执行下面的代码

    并发与并行

    并发:一会做事情 一会做另外一件事情

    并行:两个线程或者进程同时进行

    表象是都是同时进行的

    临界区

      相当于公共资源,所有的资源都可以访问临界区,在多线程同时进入临界区会导致临界区的数据混乱,所以需要得以控制。

    阻塞与非阻塞(多线程的影响)

    阻塞:指线程在操作层面被挂起,一般性能不太好但是特别简单。

    非阻塞:运行很多线程同时进入临界区,只要保证不改坏临界区的数据。

    死锁,饥饿,活锁

    死锁:属于静态的问题,系统卡死,不占用cpu,进程相互占用不释放

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

    活锁:电梯遇人的例子

    并行级别

        阻塞

       非阻塞: 无障碍  无锁  无等待

    并行相关的2各定律

      1.Amdahl定律

          加速比定义:优化前所需的时间/优化后的所需时间

           n处理器的个数  F 串行比例

           Tn = T1(F-1/n(1-F))     

           加速比=T1/Tn =1/(F+1/n(1-F))

      2.Gustafson定律


    相关文章

      网友评论

          本文标题:JAVA并发(1)

          本文链接:https://www.haomeiwen.com/subject/zdbahxtx.html