首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP支持异步编程吗?

PHP支持异步编程吗?
EN

Stack Overflow用户
提问于 2009-11-15 21:21:02
回答 6查看 2.2K关注 0票数 1

我是PHP新手。我熟悉ASP.NET,它支持异步编程。也就是说,如果一个请求需要做一些I/O工作。建议使用BeginProcess/EndProcess方式对网页进行编程。异步编程是提高可伸缩性的关键。

我想知道在PHP世界中是否有异步编程(BeginXXXX/EndXXXX)的对应物。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-11-15 21:24:40

在PHP /EndXXX范式很大程度上依赖于线程,而在.NET上,我甚至不确定你能不能启动一个新的线程(也许除了PECL package)。

在大多数解释语言中,FastCGI是多线程的替代方案。它使用进程,而不是产生新的线程,但由于产生新进程的代价很高,它保留了一个可重用的进程池,就像.NET中的ThreadPool一样。

票数 1
EN

Stack Overflow用户

发布于 2009-11-15 23:38:48

如果对套接字或文件执行I/O,则应分别使用stream_socket_select()或stream_select() (类似于C/C++中的系统调用)。

下面是一个用PHP完成的简单命令行聊天教程:Simple PHP socket-based terminal chat

注意:这不是一般的多线程解决方案,而是需要“半并行”I/O的情况下的简单解决方案

票数 1
EN

Stack Overflow用户

发布于 2009-11-15 21:32:06

核心具有一组进程控制功能,包括派生进程的能力。我不知道我是否会在web脚本中使用它们,但我以前在命令行脚本中使用过它们。

http://www.php.net/manual/en/book.pcntl.php

http://www.php.net/manual/en/pcntl.example.php

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1737519

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档