pv操作实现多进程同步和互斥

本文介绍了PV操作如何解决多进程同步和互斥问题,通过飞机场售票窗口和进程间数据读写两个场景进行示例,解释了临界区、P操作、V操作以及同步和互斥的概念,并提供了使用PV操作的伪代码解决方案。
摘要由CSDN通过智能技术生成

       本篇文章,讲解了PV操作的作用,举了两个情景模拟pv操作的应用原理,同时讲解了PV操作涉及到的基本概念,并且在文章的最后用伪代码写了pv操作过程。

 

       要理解PV操作,请先看两个场景:

 

场景1:飞机场售票窗口进程

Process Pi(i=1,2,3,…,n)

Begin

	查找当天机票剩余量A

	If A>1 then

		A=A-1;

		售出一张票

	Else 输出票以售完

End

 

       若同时有5个窗口执行该程序,如果5个程序同时并发执行,同时取到相同的票数(实际情况中:用锁就能解决该问题,不会取到相同的票数,此处只是为说明pv操作),则售了5张票,而实际票数只减了1张。

 

       场景2:进程A向缓存中写数据(缓存只存一条数据),进程B从缓存存数据。如果在B未取走数据前就写入数据,数据会被覆盖;若A还没写入新数据前B写入一次数据,则会读取到旧数据,怎么保证两个进程能够同步执行?

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值