您好,登錄后才能下訂單哦!
php單線程有什么缺點(diǎn)?針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
PHP即“超文本預(yù)處理器”,是一種通用開源腳本語言。PHP是在服務(wù)器端執(zhí)行的腳本語言,與C語言類似,是常用的網(wǎng)站編程語言。PHP獨(dú)特的語法混合了C、Java、Perl以及 PHP 自創(chuàng)的語法。利于學(xué)習(xí),使用廣泛,主要適用于Web開發(fā)領(lǐng)域。
PHP是單線程的,那么php單線程的缺點(diǎn)是什么?
一直以來php就是個單進(jìn)程的程序;雖然php的pthreads擴(kuò)展早就有了。但是它不夠穩(wěn)定,運(yùn)行運(yùn)行著就會莫名其妙的自己掛掉;php的擴(kuò)展都是C寫的,這也就意味著任何一個擴(kuò)展出現(xiàn)線程競爭資源控制問題都能讓整個掛掉
PHP單線程的缺點(diǎn)
1)、函數(shù)命名不規(guī)范 駝峰法和下滑線,傳參位置不一 你知道的
2)、單線程 ; PHP本身,一直以來php就是個單進(jìn)程的程序;雖然php的pthreads擴(kuò)展早就有了。但是它不夠穩(wěn)定,運(yùn)行運(yùn)行著就會莫名其妙的自己掛掉;php的擴(kuò)展都是C寫的,這也就意味著任何一個擴(kuò)展出現(xiàn)線程競爭資源控制問題都能讓整個掛掉
3)、核心異步網(wǎng)絡(luò)不支持(當(dāng)然在linux只有同步非阻塞網(wǎng)絡(luò)模型)。卻少了這個使得很難開發(fā)一個能夠承受大并發(fā)的網(wǎng)絡(luò)應(yīng)用。傳統(tǒng)的網(wǎng)絡(luò)模型和io都阻塞的。這樣基本的編程的做法就是一個進(jìn)程(或者線程)響應(yīng)一個用戶鏈接請求。因此無法完成像實(shí)時網(wǎng)游那樣需要成千上萬網(wǎng)絡(luò)連接的任務(wù)。盡管php也有Libevent、eio擴(kuò)展對此算是某種程度上面的彌補(bǔ),但是感覺都不是那么完善
4)、只支持web開發(fā),不方便做 .exe文件,不方便做桌面應(yīng)用程序. 不方便做手機(jī)程序.
5)、不適合做爬蟲、自動運(yùn)行腳本.科學(xué)運(yùn)算項(xiàng)目,這語言基本構(gòu)架就不適合,雖然有很多方法實(shí)現(xiàn)。
6)、后期維護(hù)困難。后期提速空間局限性較大。
7)、PHP的解釋運(yùn)行機(jī)制。這種運(yùn)行機(jī)制使得每個PHP頁面被解釋執(zhí)行后,所有的相關(guān)資源都會被回收。也就是說,PHP在語言級別上沒有辦法讓某個對象常駐內(nèi)存。
在PHP中,所有的變量都是頁面級的,無論是全局變量,還是類的靜態(tài)成員,都會在頁面執(zhí)行完畢后被清空。以JSP為例,在JSP中,Java Bean的scope有四種有效值:Page、Application、Session、Request,分別對應(yīng)頁面、程序、會話、請求四種生存期。但在PHP中,只有Page一種生存期。
關(guān)于php單線程有什么缺點(diǎn)問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。