问:看到一个coprocess代码,不是很明白,为什么结果是0321命令?
<?php
$n = 4;
for ($i = 0; $i < $n; $i++) {
go(function () use ($i) {
Co::sleep(1);
echo "hello $i \n";
});
};
echo "hello main \n";
结果:
hello main
hello 0
hello 3
hello 2
hello 1
答:与底层实现相关,因为SwooleBottomsleep通过堆数据结构进行管理