PHP倒计时器没有引起自旋锁

时间:2017-06-05 23:06:13

标签: php timer countdowntimer spinlock

问题:

我是一名编程学生,目前正在学习PHP。显然,Java可以为倒数计时器之类的东西指定线程;但是,我被告知PHP可能会出现使用延迟甚至是time()逻辑的标准倒计时功能的问题,因为它会导致自旋锁。我如何避免使用自旋锁并拥有简单有效的倒数计时器?


我想要解决的问题摘要:

我需要在后端PHP上创建一个30秒的计时器。一旦计时器完成,PHP将使用我的Slack API与特定的Slack通道进行通信 - 让每个人都知道咖啡已经完成,等等。据说,我需要能够启动多个时钟(因为这两个咖啡都有)并且必须避免旋转锁定,因为它会杀死所需的多次倒计时能力。


到目前为止代码导致自旋锁:

$startTime = time();
$actualTime = (int)$startTime;
$finishTime = ((int)$startTime) + 30;
var_dump($startTime);
var_dump($actualTime);
var_dump($finishTime);

while(($finishTime - $actualTime) > 0) {

    usleep(250000);
    $actualTime = ((int)time());
    if ($actualTime === $finishTime) {
       echo "Tea is ready!";
    }
} 

0 个答案:

没有答案
相关问题