我已經閱讀過,PHP不支持多線程,但有解決方法。但是爲什麼確實PHP不支持多線程?對於服務器端腳本語言來說,這似乎是一個明顯的遺漏。爲什麼PHP不支持多線程?
回答
由於PHP是沒有考慮到多線程編寫,這將是一個巨大的努力(基本上是100%重寫),並將它添加
有人會說,PHP是相當多的一個巨大的一堆:http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/。從這個角度來看,線程不包括在內並不奇怪。
那麼......(多線程)聚會剛剛開始呢?而已?抗議:| 。那麼爲什麼不考慮多線程支持? Lazy Rasmus Lerdorf? – skytreader
PHP開始作爲Rasmus的特定用途個人項目來跟蹤他的在線簡歷訪問:http://www.php.net/manual/en/history.php.php。從那裏它成長爲「其他」。 – jnylen
@jnylen這似乎是非常糟糕的答案。自2012年以來,多線程已在PHP中可用。請查看[** Pthreads **](http://pthreads.org)。另外[** PHP App Server **](http://www.appserver.io)已經使用pthreads構建。 – webblover
閱讀本網址,我認爲這對你有幫助。
PHP多線程 - 作假
http://w-shadow.com/blog/2007/08/20/php-multithreading-faking-it/
PHP真的不支持多線程本身,而是有很多方法可以做「假」多線程。這裏是我在PHPClasses.org通訊中看到的一個 -
請注意,此類是intedend在Web服務器上使用,而不是從命令行(或類似)運行PHP腳本。如果您使用PHP作爲獨立腳本語言,請檢查本文的結尾部分,您可以嘗試一些替代方法。
- 1. 爲什麼memcached不支持「多套」
- 2. 爲什麼java不支持多繼承?
- 3. 爲什麼Java不支持多繼承?
- 4. 爲什麼C#不支持多繼承?
- 5. 爲什麼Docker不支持多租戶?
- 6. 爲什麼vb.net不支持多繼承?
- 7. 爲什麼AIDL需要支持多線程?
- 8. php/apache會支持多線程嗎?
- 9. 爲什麼python不支持殺死一個線程?
- 10. waitall不支持sta線程上的多個句柄不支持
- 11. Libevent多線程支持
- 12. COM多線程支持
- 13. 支持多線程的arraylist
- 14. MonetDB多線程支持
- 15. Racket支持多線程嗎?
- 16. Webservice支持多線程?
- 17. CUDA computeprof不支持多線程
- 18. 爲什麼'ref'和'out'支持多態?
- 19. 爲什麼Python中沒有線程暫停支持?
- 20. 爲什麼不是numpy.mean多線程?
- 21. OutputStream不支持線程
- 22. Android不支持的線程
- 23. 爲什麼在WPF中支持多重綁定,但不支持silverlight?
- 24. 爲什麼Tomcat支持Hibernate?
- 25. 爲什麼hbase不支持bzip2壓縮?
- 26. 爲什麼Relational Database不支持Hadoop?
- 27. 爲什麼Decimal不支持高雙打?
- 28. ParseKit語法不支持「allowedGroupingSeparator」。爲什麼?
- 29. 爲什麼Silverlight不支持BMP/JPEG/PNGBitmapEncoder?
- 30. 爲什麼不WsHttpBinding的支持流?
我認爲當你說腳本語言時你會碰到它。這不是真正意義上的問題解決方案,它更像是一種膠水。如果你正在做一些需要線程化的東西,那麼最好使用比PHP更具性能的東西。 PHP是......呃......古怪,缺乏較少的攻擊性術語。 – Wug
嗯...... Python通常被認爲是「腳本」(儘管它使全面的PL模糊)。而AFAIK,你可以在Python中使用線程,即使在web-dev中也是如此? http://docs.python.org/library/threading.html – skytreader
你可以。 python中的線程有些癱瘓。但是,同樣的規則也適用,如果你正在做一些嚴重效率驅動的事情,python不是一個好的選擇。至少,Python通常被認爲是比PHP更好的設計。 – Wug