p-v操作
可以这样理解:
临界区门前有棵树
用来挂红灯
进程想进CPU门
先得上树取盏灯(调用一次P)
取下一个去敲门(S=S-1)
如果树上没有灯取(S<=0)
树说欠你一盏灯(S为负时)
没辙只好外边排队等(WAIT(S))
得灯进程续运行运行完了要出门(调用一次V)
马上还回一盏灯(S=S+1)
若有进程在催债(S<=0)
放个进去事完成(Release(S))
临界区门前有棵树
用来挂红灯
进程想进CPU门
先得上树取盏灯(调用一次P)
取下一个去敲门(S=S-1)
如果树上没有灯取(S<=0)
树说欠你一盏灯(S为负时)
没辙只好外边排队等(WAIT(S))
得灯进程续运行运行完了要出门(调用一次V)
马上还回一盏灯(S=S+1)
若有进程在催债(S<=0)
放个进去事完成(Release(S))