欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

倾覆常识 - 死循环结构代码,也有机会执行循环外的逻辑

程序员文章站 2024-04-05 13:04:42
...
颠覆常识 -- 死循环结构代码,也有机会执行循环外的逻辑

class ZookeeperDemo extends Zookeeper {

public function watcher( $i, $type, $key ) {
echo "Insider Watcher\n";

// Watcher gets consumed so we need to set a new one
$this->get( '/test', array($this, 'watcher' ) );
}

}

$zoo = new ZookeeperDemo('127.0.0.1:2181');
$zoo->get( '/test', array($zoo, 'watcher' ) );

while( true ) {
echo '.';
sleep(2);
}


现在运行该脚本。

$ php zookeeperdemo1.php
此处应该会每隔2秒产生一个点。现在切换到ZooKeeper客户端,并更新“/test”值。

[zk: 127.0.0.1:2181(CONNECTED) 20] set /test foo
这样就会静默触发PHP脚本中的“Insider Watcher”消息。


怎么会这样的?进入while结构后,为什么还能执行watcher方法。请各位看官发表讨论。


网友评论

文明上网理性发言,请遵守 新闻评论服务协议

我要评论
  • 倾覆常识  - 死循环结构代码,也有机会执行循环外的逻辑
  • 专题推荐

    作者信息
    倾覆常识  - 死循环结构代码,也有机会执行循环外的逻辑

    认证0级讲师

    推荐视频教程
  • 倾覆常识  - 死循环结构代码,也有机会执行循环外的逻辑javascript初级视频教程
  • 倾覆常识  - 死循环结构代码,也有机会执行循环外的逻辑jquery 基础视频教程
  • 视频教程分类