initphp/fiber-loops

PHP 事件循环

1.0 2022-07-13 18:15 UTC

This package is auto-updated.

Last update: 2024-09-13 22:56:04 UTC


README

PHP 纤程循环

php-fiber

需求

  • PHP 8.1 或更高版本

安装

composer require initphp/fiber-loops

使用

require_once "vendor/autoload.php";
use InitPHP\FiberLoops\Loop;

$loop = new Loop();

$loop->defer(function () use ($loop) {
    foreach (range(0, 5) as $value) {
        echo $value . PHP_EOL;
        $loop->next();
    }
});

$loop->defer(function () use ($loop) {
    foreach (range(6, 9) as $value) {
        echo $value . PHP_EOL;
        $loop->next();
    }
});

$loop->run();

输出

0
6
1
7
2
8
3
9
4
5

示例 2

require_once "vendor/autoload.php";
use InitPHP\FiberLoops\Loop;

$loop = new Loop();

$loop->defer(function () use ($loop) {
    $loop->sleep(0.2);
    foreach (range(0, 5) as $value) {
        echo $value . PHP_EOL;
    }
});

$loop->defer(function () use ($loop) {
    foreach (range(6, 9) as $value) {
        echo $value . PHP_EOL;
    }
});

$loop->run();

输出

6
7
8
9
0
1
2
3
4
5

致谢

许可

版权所有 © 2022 MIT 许可证