zoukankan      html  css  js  c++  java
  • 并发程序设计

    1. 多进程设计存在的问题:结果错误(机票问题)和永久等待(内存资源管理)

    2. 进程互斥与同步:

    (1)进程互斥:多个相关的进程争夺独占性资源而产生的竞争条件制约;

    (2)进程同步:多个相关的进程为完成同一任务基于某一条件协调决定先后执行顺序的协调条件制约;

    3. 临界区:

    (1)临界区资源:互斥共享变量所指的资源,临界区资源同时只能被一个进程占用;

    (2)临界区:与互斥共享变量操作有关的程序段;

    (3)临界区管理的三大要求:任意时候只能有一个相关进程处于临界区内;进程不可以一直处于临界区内;进程不可以一直处于等待某种临界区资源状态;

    4. 临界区管理的实现:测试锁和建立锁两个锁会出现死锁情况或者结果错误

    (1)测试并建立锁

    (2)swap操作建立锁

    5. 信号量:PV操作原语与进程互斥

    (1)定义一种动态的软件资源,其核心数据结构是等待进程队列

    (2)信号量申明:资源报道,等待进程队列建立

    (3)请求资源的原语:若申请不得,则加入等待队列

    (4)归还资源的原语:队列中有等待进程,需释放

    (5)信号量撤销:资源注销,队列撤销

    6. PV操作与进程同步

    (1)基本思路:定义一个信号量,其数值代表可用消息数

    等待消息进程:执行P操作,无消息则等待

    发出消息进程:执行V操作,有等待消息进程则释放:

    7. 管程

    8. 进程直接通信与间接通信:

    9. 高级进程通信

  • 相关阅读:
    html文件上传函数
    form上传以及下载文件回调
    WIN2008R2 64位平台IIS发布WEB项目 未在本地计算机上注册“MICROSOFT.ACE.OLEDB.12.0"错误提示
    回文数
    搜索旋转排序数组
    Kotlin注解处理(Kapt)
    关于@FeignClient的属性源码分析
    sonatype-nexus私服的搭建与settings的设置
    简话ReentrantLock的可重入锁概念
    springboot2.1与单节点redis的集成实战
  • 原文地址:https://www.cnblogs.com/changna1314/p/6992057.html
Copyright © 2011-2022 走看看