在php中有一个函数sem_get
,它返回一个id,可用于访问带有key
的{V}信号量的System V信号量:
resource sem_get ( int $key [, int $max_acquire = 1 [, int $perm = 0666 [, int $auto_release = 1 ]]] )
给定一个信号量资源,我可以找出用于创建此资源的key
(即什么整数值)?有没有办法反转' sem_get
函数?
答案 0 :(得分:0)
不要这么认为。好像你使用了两次sem_get
,你会得到不同的结果,但仍然是相同的密钥。
答案 1 :(得分:0)
最好的方法是简单地保留一个字典/关联数组映射id
从sem_get到用于创建它的key
。
这个关联数组可以是您使用信号量的每个PHP进程的本地/独占数据,因为每次调用sem_get会产生不同的id - 因此这些ID对其他进程无用。