mfc cef cefsettings 单进程 退出_进程与进程管理 | 进程之间的制约关系

本文探讨了在MFC中使用CEF框架时,如何处理单进程退出的问题,同时深入分析了进程间制约的两种类型——间接制约(通过资源竞争)和直接制约(确保操作顺序)。间接制约中,临界资源的概念被提出,临界区的互斥访问过程通过进入区和退出区来保证。直接制约强调进程间的协作,以确保特定的执行顺序。举例包括多个进程共享打印机和共享变量的并发操作,以及病人就诊和缓冲区共享场景。
摘要由CSDN通过智能技术生成

间接制约:相互竞争资源

  • 临界资源
    • 定义:一次仅允许一个进程使用的资源称为临界资源。
      • 硬件:如输入机、打印机、磁带机等
      • 软件:如公用变量、数据、表格、队列等
    • 互斥:对某个系统资源,一个进程正在使用它,另外一个想用它的进程就必须等待,而不能同时使用 ;

e3d5e0797d717cfd56267a28eb374731.png
    • 临界区:进程中访问临界资源的一段代码。

76866354fdb68fa0a26b07574264b0eb.png
      • 就如上方所示,CSa 和 CSb 都是临界区。
    • 临界区的互斥访问过程
      • 我们保证进程可以互斥的访问临界区,我们会添加进入区和退出区。
      • 进入区用于检查临界区状态,访问为忙则正在由代码访问临界区;访问空闲则马上将临界区状态置为忙碌,并对其访问。
      • 退出区主要是释放临界区资源的使用权,将临界区状态置为空闲,是别的进程可以访问临界区。

c1ddd6ddb46397f9a035f84593b9e1ac.png
    • 下面给出两个间接制约的例子:
      • 两个进程A、B共享一台打印机
      • 两个进程共享一个变量x ,设x的初值为10。P1和P2两个进程都对共享变量x执行加1的操作:
p1: r1 := x;r1:= r1+1; x := r1 ;
p2: r2:= x;r2 := r2+1; x := r2 ;
        • 该操作有两种可能的执行次序,如下:
          • 第一种:按顺序执行,先执行 p1 再执行 p2,得到 x = 12
          • 第二种:先执行 p1 的第一天语句,在全部执行 p2 ,再执行 p1 剩下的语句。得到 x = 11

直接制约:相互协作,保证先后顺序

  • 举出两个例子:
    • 病人就诊

54de73d5805e46547b99a59836af682f.png
    • 共享缓冲区的计算进程与打印进程的相互协作
      • 计算进程 cp和打印进程 iop公用一个单缓冲

4d625537519b0e3c2fc1f523a0ff51f9.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值