摘要:從年月日發(fā)布的第一個版的開始的都是線程安全的版本,這是由于與系統(tǒng)是采用多進程的工作方式不同的是系統(tǒng)是采用多線程的工作方式。
Windows版的PHP從版本5.2.1開始有Thread Safe(線程安全)和None Thread Safe(NTS,非線程安全)之分,這兩者不同在于何處?到底應該用哪種?這里做一個簡單的介紹。
從2000年10月20日發(fā)布的第一個Windows版的PHP3.0.17開始的都是線程安全的版本,這是由于與Linux/Unix系統(tǒng)是采用多進程的工作方式不同的是Windows系統(tǒng)是采用多線程的工作方式。如果在IIS下以CGI方式運行PHP會非常慢,這是由于CGI模式是建立在多進程的基礎之上的,而非多線程。一般我們會把PHP配置成以ISAPI的方式來運行,ISAPI是多線程的方式,這樣就快多了。但存在一個問題,很多常用的PHP擴展是以Linux/Unix的多進程思想來開發(fā)的,這些擴展在ISAPI的方式運行時就會出錯搞垮IIS。因此在IIS下CGI模式才是 PHP運行的最安全方式,但CGI模式對于每個HTTP請求都需要重新加載和卸載整個PHP環(huán)境,其消耗是巨大的。
為了兼顧IIS下PHP的效率和安全,微軟給出了FastCGI的解決方案。FastCGI可以讓PHP的進程重復利用而不是每一個新的請求就重開一個進程。同時FastCGI也可以允許幾個進程同時執(zhí)行。這樣既解決了CGI進程模式消耗太大的問題,又利用上了CGI進程模式不存在線程安全問題的優(yōu)勢。
因此,如果是使用ISAPI的方式來運行PHP就必須用Thread Safe(線程安全)的版本;而用FastCGI模式運行PHP的話就沒有必要用線程安全檢查了,用None Thread Safe(NTS,非線程安全)的版本能夠更好的提高效率。
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://m.hztianpu.com/yun/21063.html
摘要:指,即線程安全,一般在以方式加載的時候選擇這個版本。具體從年月日發(fā)布的第一個版的開始的都是線程安全的版本,這是由于與系統(tǒng)是采用多進程的工作方式不同的是系統(tǒng)是采用多線程的工作方式。 TS指Thread Safety,即線程安全,一般在IIS以ISAPI方式加載的時候選擇這個版本。NTS即None-Thread Safe,一般以fast cgi方式運行的時候選擇這個版本,具有更好的性能。 ...
摘要:共享數(shù)據(jù)使線程之間的通信比進程之間的通信更有效。并發(fā)模型和的區(qū)別說明的作用是啟動一個新線程操作系統(tǒng)級別,有一個方法啟動新線程,新線程會執(zhí)行相應的方法。單獨調用會在當前線程中執(zhí)行并不會啟動新線程創(chuàng)建一個線程即可但是這個線程沒有執(zhí)行任何代碼段。 tutorials site 并發(fā)Concurrency發(fā)展的歷史 單CPU,一次只能運行一個程序 -- 多任務,一次同時運行多個任...
摘要:中專門為解決線程安全的問題抽象出了一個線程安全資源管理器,實現(xiàn)原理比較簡單既然共用資源這么困難那么就干脆不共用,各線程不再共享同一份全局變量,而是各復制一份,使用數(shù)據(jù)時各線程各取自己的副本,互不干擾。 1.線程安全資源管理器 PHP的SAPI多數(shù)是單線程環(huán)境,比如cli、fpm、cgi,每個進程只啟動一個主線程,這種模式下是不存在線程安全問題的,但是也有多線程的環(huán)境,比如Apache,...
摘要:如果現(xiàn)有子進程中的線程總數(shù)不能滿足負載,控制進程將派生新的子進程。為解決線程的并發(fā)問題,引入了線程安全資源管理器。的全拼,用來存放各個線程的鏈表。 PHP 進階之路 - 零基礎構建自己的服務治理框架(上) PHP 進階之路 - 零基礎構建自己的服務治理框架(下) PHP 進階之路 - 億級 pv 網(wǎng)站架構的技術細節(jié)與套路 PHP 進階之路 - 億級 pv 網(wǎng)站架構實戰(zhàn)之性能壓榨 注...
閱讀 2049·2023-04-26 01:59
閱讀 3332·2021-10-11 11:07
閱讀 3370·2021-09-22 15:43
閱讀 3454·2021-09-02 15:21
閱讀 2658·2021-09-01 10:49
閱讀 955·2019-08-29 15:15
閱讀 3165·2019-08-29 13:59
閱讀 2890·2019-08-26 13:36