不阻塞地查询 PHP 信号量?
是否可以查询使用 sem_get 创建的信号量,而不像 sem_acquire 函数那样实际阻塞?
干杯, 担。
Is it possible to query a semaphore created with sem_get without actually blocking like the sem_acquire function does?
Cheers,
Dan.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不幸的是,PHP 目前不支持非阻塞信号量。
如果需要这样的东西,您可以利用信号量和共享内存来创建您自己的非阻塞锁机制。
使用共享内存变量来标记锁是否存在,然后在针对该变量的操作周围使用信号量。
Unfortunately, PHP does not currently support non-blocking semaphores.
If something like this is necessary you can utilize semaphores together with shared memory to create your own non-blocking lock mechanisms.
Use a shared memory variable to mark whether or not a lock exists and then use a semaphore around operations against that variable.
从 PHP 5.6.1 开始,sem_acquire 支持 $nowait 参数:
Starting from PHP 5.6.1, it supports the $nowait parameter for sem_acquire: