吐槽!简单浅显讲述PV操作、信号量、互斥、同步

吐槽

书本上的PV操作在讲毛线啊,完全是一头雾水,都是晦涩难懂的解释,甚至有些书本根本就直接将PV操作了,P是什么,V是什么,都是没有任何详细的解释的

信号量

对于信号量就可以认为是一个仓库的操作概念,信号就是反馈一个通知罢了,我这个操作做完了,就给你一个信号,我操作了多少就是一个量的概念,这就是我理解的信号量

P操作

P操作就是从仓库里面拿货,如果仓库里面没有货,那么线程就开始等待了,直到V操作往仓库里添加货物,为了避免P操作一直等待下去,一般会设定一个超时时间

V操作

V操作就是往仓库里面放货,如果仓库满了,线程等待,直到有P操作,从仓库中拿走货物,出现空位

 

P操作详情

货物个数减1,减了货物之后,货物个数>=0,说明已经拿到货物了,线程继续正常运行,如果<0那么就线程阻塞

V操作详情

货物个数+1,加了货物之后,货物个数<=当前仓库容量说明添加成功,线程继续正常运行,如果>容量,那么线程就阻塞了

 

互斥与同步

相交进程之间的关系主要有两种,同步和互斥。互斥是指散布在不同进程之间的若干程序片段,当某个进程运行其中一个程序片段的时候,其他进程就不能运行他们之中的任一程序片段,只能等到该进程运行完这个程序片段后才可以运行。同步,是指散布在不同程序进程之间的若干程序片段,他们的运行必须严格按照规定的某种先后次序来运行,这种先后次序依赖于要完成的特ing的任务

       同步是一种更为复杂的互斥,而互斥是一种特殊的同步

 

互斥是两个线程之间不可以同时运行,他们会互相排斥,必须等待一个线程运行完毕,另一个才能够运行,为同步也是不能同时运行的,必须按照某种特定的次序来运行相应的线程!(是一种讲究先后顺序的互斥)

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值