• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

php 搞代码 3年前 (2022-01-24) 17次浏览 已收录 0个评论

颠覆常识 — 死循环结构代码,也有机会执行循环外的逻辑
<?php

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-本文来源gaodai#ma#com搞*!代#%^码$网!搞代gaodaima码>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方法。请各位看官发表讨论。

发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址