【问题标题】:Query a PHP semaphore without blocking?在不阻塞的情况下查询 PHP 信号量?
【发布时间】:2009-12-21 15:30:11
【问题描述】:

是否可以在不像 sem_acquire 函数那样实际阻塞的情况下查询使用 sem_get 创建的信号量?

干杯, 丹。

【问题讨论】:

  • 谢谢。我承认这不是世界上最激动人心的第一篇文章! ;-)

标签: php blocking semaphore


【解决方案1】:

很遗憾,PHP 目前不支持非阻塞信号量。

如果有必要这样做,您可以利用信号量和共享内存来创建自己的非阻塞锁机制。

使用共享内存变量来标记是否存在锁,然后在针对该变量的操作周围使用信号量。

【讨论】:

    【解决方案2】:

    从 PHP 5.6.1 开始,它支持 sem_acquire 的 $nowait 参数:

    bool sem_acquire ( resource $sem_identifier [, bool $nowait = false ] )
    

    【讨论】:

      猜你喜欢
      • 2020-01-26
      • 1970-01-01
      • 2016-07-04
      • 1970-01-01
      • 2010-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多