如何在PHP 7.0中使用线程

时间:2018-06-07 11:49:31

标签: php multithreading

我已经创建了php-cli.ini,在那里添加了pthread扩展并将内存限制设置为3 GB。但当我试图启动线程脚本时,我得到了这个:

PHP Fatal error:  Uncaught RuntimeException: cannot start my_thread, out of resources in 
C:\xampp\htdocs\app90\start_threads.php:160

Stack trace:
#0 C:\xampp\htdocs\app90\start_threads.php(160): Thread->start()
#1 {main}
  thrown in C:\xampp\htdocs\app90\start_threads.php on line 160

Fatal error: Uncaught RuntimeException: cannot start my_thread, out of resources
 in C:\xampp\htdocs\app90\start_threads.php:160

需要帮助 提前谢谢。

1 个答案:

答案 0 :(得分:1)

基本上,这是由pthread_create返回EAGAIN:引起的。这意味着系统缺少创建另一个线程的资源,或者系统对最大线程数量施加限制(在进程中,或者已达到系统范围。

这可能是由两件事造成的,因为一些软件的设计方式,有目的地使用更多的线程而不是一个进程可以同时处理,或者由于线程加入不够优雅而导致更有害。 / p>

如果你有时似乎只遇到这样的错误,那么就会暗示后者正在发生;确保清理(显式连接)您完成的线程以使行为可预测。