rapttor / threads
Threads 是一个强大且用户友好的 PHP 库,旨在简化 PHP 应用程序中的并行处理。
dev-master
2024-07-07 21:58 UTC
Requires
- php: >=5.4
Requires (Dev)
- phpunit/phpunit: 5.2.*
This package is auto-updated.
Last update: 2024-08-31 15:12:10 UTC
README
Threads 是一个强大且用户友好的 PHP 库,旨在简化 PHP 应用程序中的并行处理。通过将复杂的线程功能抽象为简单易用的函数,Threads 允许开发者以最小的努力提升应用程序的性能和效率。
我们鼓励您将参数作为键值数组传递给方法。使用描述性键并提供[$defaults],以避免需要文档/手册。
安装
composer require rapttor/threads
可能需要在 composer.json 中添加
"minimum-stability": "dev", "prefer-stable": true,
特性
- PSR-4 自动加载兼容结构
- 使用 PHPUnit 进行单元测试
- 全面的指南和教程
- 易于在任何框架或纯 PHP 文件中使用
我鼓励您在此 README 文件上添加更多信息,而不是让它保持原样。有关更多信息,请参阅 rapttor.com。
许可证(可在单独的文件中找到)
MIT 许可证
示例
<?php
// composer require rapttor/threads
require_once("./vendor/autoload.php");
\RapTToR\Threads::run(array(
"process" => function ($data = false) {
for ($i = 0; $i < 3; $i++) {
echo "A $i" . PHP_EOL;
sleep(1);
}
}
));
\RapTToR\Threads::run(array(
"process" => function ($data = false) {
for ($i = 0; $i < 3; $i++) {
echo "BB $i" . PHP_EOL;
sleep(2);
}
return "BB RUN DONE; " . PHP_EOL;
},
"response" => function ($data) {
var_dump('BB response: ', $data);
}
));
// if you would like to wait...
// pcntl_wait($status);
echo "app done.";
测试输出
main process pid = N0
~ (back to prompt...)
starting process: N1
starting process: N2
app done.
string(7) "run A: "
bool(false)
A 0
string(7) "run B: "
bool(false)
BB 0
A 1
BB 1
A 2
N1 process finished
N2 process finished
BB 2
N0 process finished