zoukankan      html  css  js  c++  java
  • 并行

    同步 异步

    并行

    并发

    阻塞 非阻塞

    死锁Deadlock  饥饿Starvation 活锁Livelock

    饥饿:一个线程拿着关键资源不释放,其他线程需要这个资源而无法运行,但是在未来的一段时间内,资源会被释放。

    活锁:秉着“谦让”原则,线程主动释放资源给对方,那么资源就会在两个线程之间跳动,而没有一个线程同时拥有所有资源而正常运行。

    并发级别:

    阻塞

    无饥饿:如果线程之间是有优先级的,那么线程调度的时候总是会倾向于满足高优先级的线程。也就是说,对于同一个资源的分配,是不公平的。锁也分公平锁和非公平锁,对于非公平锁来说,系统允许高优先级的线程插队。这样就有可能导致低优先级的线程产生饥饿。但是如果是公平锁,满足先来后到,那么饥饿就不会产生,不管新来的线程优先级多高,要想获得资源,就必须乖乖排队。这样所有的线程都有机会执行。

    无障碍 :无锁:无等待:

    两个重要的定理

    Amdahl Gustafson

    JVM内存模型

    如何保证并发程序下的数据访问一致性和安全性

    原子性

    可见性

    有序性

  • 相关阅读:
    JSTL XML标签库 使用
    JSTL SQL标签库 使用
    JSTL I18N 格式标签库
    基于struts2的ajaxfileupload异步上传插件的使用
    Spring 使用注解方式进行事务管理
    vi编辑器的使用方式
    js基础知识介绍
    选择语句
    数组
    0411作业
  • 原文地址:https://www.cnblogs.com/lin7155/p/13710418.html
Copyright © 2011-2022 走看看