解释一下 Workerman 中使用 global 问题

10次阅读

共计 0 个字符,预计需要花费 0 分钟才能阅读完成。

count = 1;
$http_worker->onWorkerStart = function ($worker) {// 将 db 实例存储在全局变量中 ( 也可以存储在某类的静态成员中)
    global $a;
    $a=0;
};
// 接收到浏览器发送的数据时回复 hello world 给浏览器
$http_worker->onMessage = function(TcpConnection $connection, Request $request)
{
    global $a;
    $a++;
    // 向浏览器发送 hello world
    $connection->send("hello world---$a");
};

// 运行 worker
Worker::runAll();

为何浏览器每次运行不是递增, 而是 1,3,5,7,9…. 这样的

能否从计算机原理基础解释一下吗, 我看 workman 文档说进程间的共享数据,可以用全局变量, 或者管道, 或者 redis 这样的存储工具, 我声明了一个 global, 该进程也是只有 1 个, 读取 $a 的时候,只会从 $a 地址读取值, 但是值每次都不是递增, 实在想不通

正文完
 0