aza / thread
AzaThread - 基于分支的Anizoptera CMF简单且强大的PHP线程模拟组件。
v1.1
2013-05-28 13:05 UTC
Requires
- php: >=5.3.3
- aza/clibase: ~1.0
- aza/libevent: ~1.0
- aza/socket: ~1.0
Suggests
- ext-libevent: Only synchronous compatibility mode will be available without it
- ext-pcntl: Only synchronous compatibility mode will be available without it
- ext-posix: Only synchronous compatibility mode will be available without it
This package is not auto-updated.
Last update: 2024-09-14 14:14:19 UTC
README
简单的PHP线程模拟组件,基于分支。旧名称 - CThread。
https://github.com/Anizoptera/AzaThread
目录
介绍
特性
- 使用分支异步操作;
- 在没有所需扩展的情况下支持同步兼容模式;
- 复用子进程;
- 进程间数据完全交换。发送参数,接收结果;
- “线程”与父进程之间的事件传输;
- 与线程池协同工作,保留多重使用,传递参数和接收结果;
- 使用libevent和套接字对进行高效的进程间通信;
- 支持两种数据序列化传输变体(igbinary、原生PHP序列化);
- 错误处理;
- 工作、子进程等待和初始化的超时;
- 最大性能和定制;
要求
- PHP 5.3.3(或更高版本);
- Unix系统;
- libevent;
- pcntl;
- posix;
- AzaLibevent - 将自动由composer安装;
- AzaSocket - 将自动由composer安装;
- AzaCliBase - 将自动由composer安装;
注意:即使没有要求(或在Windows上,例如),也可以使用同步兼容模式。
安装
安装AzaThread推荐的方法是通过composer。您可以在Packagist上查看包信息。
{ "require": { "aza/thread": "~1.0" } }
文档和示例
其他示例可以在文件examples/example.php和单元测试Tests/ThreadTest.php中查看。
您还可以运行性能测试,通过使用examples/speed_test.php选择线程数,并根据您的系统配置选择最佳设置。
测试
测试在Tests
文件夹中。要运行它们,您需要PHPUnit。示例
$ phpunit --configuration phpunit.xml.dist
致谢
AzaThread是Anizoptera CMF的一部分,由Amal Samally(amal.samally at gmail.com)和AzaGroup团队编写。
许可
在MIT许可下发布。
链接
- 邮件列表(通过 Google Group)
- Composer 包
- 在 Travis CI 上的最后一次构建
- 在 Ohloh 上的项目简介
- (俄语)AzaThread — PHP 的多线程与黑杰克
- 在 GitHub / Packagist 上的其他 Anizoptera CMF 组件
- (俄语)AzaGroup 团队博客