bugdhdj / pthwools
pthread 的 polyfill
dev-master
2021-07-28 15:39 UTC
Requires
- php: ^7.4 | ^8.0
- ext-swoole: ^4.0
Requires (Dev)
- eaglewu/swoole-ide-helper: dev-master
- phpunit/phpunit: ^9
This package is auto-updated.
Last update: 2024-09-26 20:38:39 UTC
README
pthwools 旨在通过 swoole 满足 pthreads 的 API 要求,使得依赖于 pthreads 的代码在没有 pthreads 或无法加载 pthreads 时仍然可以工作。
由于明显的原因,pthwools 不实现相同的执行模型,但使用 swoole 协程来实现异步代码执行和多核优化。
pthwools 只为 v3 版本提供填充,行为与 v3 版本一致,这是新项目应设定的目标版本。
它在 bugdhdj/PocketMine-MP-Swoole 项目中使用。
测试
pthwools 随带一些单元测试,这些测试应该在没有加载 pthreads 时通过。
测试 pthwools
phpunit tests
如果你的配置加载了 pthreads,则不会使用 pthwools。
测试 pthwools 的代码覆盖率
phpdbg -nqrr vendor/bin/phpunit tests --coverage-text