提问人:flashburn 提问时间:4/13/2015 最后编辑:John Saundersflashburn 更新时间:3/1/2022 访问量:26708
在信号量上下文中 P 和 V 运算的原始含义是什么?
What is the original meaning of P and V operations in a context of a semaphore?
问:
有谁知道为什么信号量运算被称为 P 和 V?每次我读到关于信号量的一章时,它都会说如下:
为了让线程获取资源,它执行 P 操作。为了让线程释放资源,它执行 V 操作。
P 和 V 代表什么?为什么它们不被称为等待和信号?
答:
1赞
Rahul Tripathi
4/13/2015
#1
V代表信号,P代表等待。
您可以查看 wiki 了解详细信息。
为什么它们不被称为等待和信号?
我同意比尔的观点,最可能的原因是因为有很多人不使用英语,所以可能正因为如此,它才不被称为等待和信号。
评论
0赞
Sbpro
4/24/2020
不确定他们是否命名 P 和 V,因为不是每个人都使用英语——因为无论如何计算机的语言都是英语,而所有编程语言都是英语......或者至少他们中的大多数 - 不确定是否有任何书面或使用其他语言。因此,达到学习/研究信号量水平的人不会拘泥于信号/等待的命名,并且需要 P 和 V 来理解/使用它们。
42赞
Kris
4/13/2015
#2
Dijkstra 是信号量的发明者之一,他使用了 P 和 V。这些字母来自荷兰语单词 Probeer(尝试)和 Verhoog(增量)。
Смотритетакже: https://cs.nyu.edu/~yap/classes/os/resources/origin_of_PV.html
评论
2赞
paxdiablo
9/23/2021
“Probeer te verlagen”是“尝试减少”。“Verhogen”是增加。
7赞
Lars Quentin
5/31/2020
#3
@Kris答案只是部分正确。
V代表“Verhoog”,P代表“Prolaag”,而不是这里引用的“Probeer”。
Verhoog 可以翻译为“增加”。递减将是“Verlaag”,但为了更好地区分字母,Dijkstra 发明了“Prolaag”这个词。
请参阅原始论文中的命名。
评论
1赞
dbf
7/16/2020
这确实是真的,我是荷兰人,我的教授告诉我,他只是说要防止学生每周就:D的含义问同样的问题Probeer
Prolagg
0赞
John Saunders
3/24/2021
“Prolaag”很好。
0赞
caregon
3/1/2022
#4
V代表“Verhoog”,可以翻译为“增量”。
P 代表“Prolaag”,是荷兰语“probeer verlaag”的虚构词,可以翻译为“尝试减少”。
下一个:c# 泛型属性筛选器
评论