文件名称:amp:用于PHP应用程序的非阻塞并发框架。 :elephant:
文件大小:55KB
文件格式:ZIP
更新时间:2024-02-22 20:13:42
php promises async coroutines event-loop
Amp是PHP的非阻塞并发框架。 它提供了一个事件循环,promise和流作为异步编程的基础。 与生成器结合使用promises来构建协程,协程允许像异步代码一样编写异步代码,而无需任何回调。 动机 传统上,PHP具有同步执行流,一次只能做一件事。 如果查询数据库,则会发送查询并以阻塞方式等待数据库服务器的响应。 收到响应后,就可以开始做下一件事。 我们可以坐在那里,而不是坐在那里等待任何时间,而无需发送任何查询,或者对API进行HTTP调用。 利用我们通常在等待I / O上花费的时间可以加快总执行时间。 下图显示了在顺序执行和并发执行之后,不同任务之间具有依赖性的执行流程。 Amp允许此类并发的I / O操作,同时通过避免回调来保持较低的认知负载。 取而代之的是,可以使用yield来等待异步操作的结果,从而产生代码,该代码的结构类似于传统的阻塞I / O代码,而实际的执行流程由Amp处理。 安装 该软件包可以作为依赖项安装。 composer require amphp/amp 这将为PHP中的异步应用程序安装基本的构建块。 我们在此存储库之上提供了许多存储库,例如 提供
【文件预览】:
amp-master
----.github()
--------workflows()
----LICENSE(1KB)
----psalm.examples.xml(573B)
----composer.json(2KB)
----psalm.xml(2KB)
----lib()
--------Producer.php(1004B)
--------InvalidYieldError.php(1KB)
--------functions.php(26KB)
--------Success.php(1KB)
--------CallableMaker.php(3KB)
--------TimeoutCancellationToken.php(2KB)
--------NullCancellationToken.php(913B)
--------Coroutine.php(5KB)
--------Iterator.php(1KB)
--------Emitter.php(2KB)
--------Deferred.php(2KB)
--------MultiReasonException.php(670B)
--------CancelledException.php(340B)
--------Delayed.php(1KB)
--------CombinedCancellationToken.php(2KB)
--------Loop()
--------TimeoutException.php(367B)
--------CancellationTokenSource.php(5KB)
--------Internal()
--------CancellationToken.php(1KB)
--------Struct.php(2KB)
--------LazyPromise.php(1KB)
--------Failure.php(1KB)
--------Loop.php(17KB)
--------Promise.php(1KB)