我能在PHP中创建线程吗?

3

可能是重复的问题:
PHP是否有线程?

我发现了这个:http://php.net/manual/en/function.pcntl-fork.php

但我不能确定它们是线程还是进程,我很困惑。他们同时使用这两个词。

如果您有其他解决方案,这就是我需要线程的原因:我想使用Web套接字创建实时游戏,并考虑在后台运行单个进程,按需为每个游戏(或房间)生成一个线程。

3个回答

3
pcntl_fork 创建一个新的进程。虽然文档中使用了“线程”一词,但“进程”更加突出:

pcntl_fork() 函数创建一个子进程,除了其 PID 和 PPID 不同于父进程外,其他都相同。

PHP 不支持多线程(并且通常不能假设 Web 服务器本身是多线程的)。
最后,为每个任务生成一个线程是一种天真的扩展方法,它在某些不太晚的时候就无法扩展了。我建议研究替代架构。

我对那些替代架构非常感兴趣,您介意给我一些提示,以便我可以进一步调查吗? - HappyDeveloper

2

这只是C语言fork()函数的包装器。它创建进程,而不是线程。PHP不支持多线程。


0

* PHP不支持多线程。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接