成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

PHP的線程安全(Thread Safe)與非線程安全(None Thread Safe)版本的區(qū)別

acrazing / 2092人閱讀

摘要:從年月日發(fā)布的第一個(gè)版的開始的都是線程安全的版本,這是由于與系統(tǒng)是采用多進(jìn)程的工作方式不同的是系統(tǒng)是采用多線程的工作方式。

Windows版的PHP從版本5.2.1開始有Thread Safe(線程安全)和None Thread Safe(NTS,非線程安全)之分,這兩者不同在于何處?到底應(yīng)該用哪種?這里做一個(gè)簡單的介紹。

從2000年10月20日發(fā)布的第一個(gè)Windows版的PHP3.0.17開始的都是線程安全的版本,這是由于與Linux/Unix系統(tǒng)是采用多進(jìn)程的工作方式不同的是Windows系統(tǒng)是采用多線程的工作方式。如果在IIS下以CGI方式運(yùn)行PHP會非常慢,這是由于CGI模式是建立在多進(jìn)程的基礎(chǔ)之上的,而非多線程。一般我們會把PHP配置成以ISAPI的方式來運(yùn)行,ISAPI是多線程的方式,這樣就快多了。但存在一個(gè)問題,很多常用的PHP擴(kuò)展是以Linux/Unix的多進(jìn)程思想來開發(fā)的,這些擴(kuò)展在ISAPI的方式運(yùn)行時(shí)就會出錯(cuò)搞垮IIS。因此在IIS下CGI模式才是 PHP運(yùn)行的最安全方式,但CGI模式對于每個(gè)HTTP請求都需要重新加載和卸載整個(gè)PHP環(huán)境,其消耗是巨大的。

為了兼顧IIS下PHP的效率和安全,微軟給出了FastCGI的解決方案。FastCGI可以讓PHP的進(jìn)程重復(fù)利用而不是每一個(gè)新的請求就重開一個(gè)進(jìn)程。同時(shí)FastCGI也可以允許幾個(gè)進(jìn)程同時(shí)執(zhí)行。這樣既解決了CGI進(jìn)程模式消耗太大的問題,又利用上了CGI進(jìn)程模式不存在線程安全問題的優(yōu)勢。

因此,如果是使用ISAPI的方式來運(yùn)行PHP就必須用Thread Safe(線程安全)的版本;而用FastCGI模式運(yùn)行PHP的話就沒有必要用線程安全檢查了,用None Thread Safe(NTS,非線程安全)的版本能夠更好的提高效率。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/21063.html

相關(guān)文章

  • PHP安裝包TS和NTS區(qū)別

    摘要:指,即線程安全,一般在以方式加載的時(shí)候選擇這個(gè)版本。具體從年月日發(fā)布的第一個(gè)版的開始的都是線程安全的版本,這是由于與系統(tǒng)是采用多進(jìn)程的工作方式不同的是系統(tǒng)是采用多線程的工作方式。 TS指Thread Safety,即線程安全,一般在IIS以ISAPI方式加載的時(shí)候選擇這個(gè)版本。NTS即None-Thread Safe,一般以fast cgi方式運(yùn)行的時(shí)候選擇這個(gè)版本,具有更好的性能。 ...

    CocoaChina 評論0 收藏0
  • 并發(fā)學(xué)習(xí)筆記(1)

    摘要:共享數(shù)據(jù)使線程之間的通信比進(jìn)程之間的通信更有效。并發(fā)模型和的區(qū)別說明的作用是啟動一個(gè)新線程操作系統(tǒng)級別,有一個(gè)方法啟動新線程,新線程會執(zhí)行相應(yīng)的方法。單獨(dú)調(diào)用會在當(dāng)前線程中執(zhí)行并不會啟動新線程創(chuàng)建一個(gè)線程即可但是這個(gè)線程沒有執(zhí)行任何代碼段。 tutorials site 并發(fā)Concurrency發(fā)展的歷史 單CPU,一次只能運(yùn)行一個(gè)程序 -- 多任務(wù),一次同時(shí)運(yùn)行多個(gè)任...

    objc94 評論0 收藏0
  • (PHP7內(nèi)核剖析-10) 線程安全

    摘要:中專門為解決線程安全的問題抽象出了一個(gè)線程安全資源管理器,實(shí)現(xiàn)原理比較簡單既然共用資源這么困難那么就干脆不共用,各線程不再共享同一份全局變量,而是各復(fù)制一份,使用數(shù)據(jù)時(shí)各線程各取自己的副本,互不干擾。 1.線程安全資源管理器 PHP的SAPI多數(shù)是單線程環(huán)境,比如cli、fpm、cgi,每個(gè)進(jìn)程只啟動一個(gè)主線程,這種模式下是不存在線程安全問題的,但是也有多線程的環(huán)境,比如Apache,...

    Achilles 評論0 收藏0
  • PHP 進(jìn)階之路 - 揭開 PHP 線程安全神秘面紗

    摘要:如果現(xiàn)有子進(jìn)程中的線程總數(shù)不能滿足負(fù)載,控制進(jìn)程將派生新的子進(jìn)程。為解決線程的并發(fā)問題,引入了線程安全資源管理器。的全拼,用來存放各個(gè)線程的鏈表。 PHP 進(jìn)階之路 - 零基礎(chǔ)構(gòu)建自己的服務(wù)治理框架(上) PHP 進(jìn)階之路 - 零基礎(chǔ)構(gòu)建自己的服務(wù)治理框架(下) PHP 進(jìn)階之路 - 億級 pv 網(wǎng)站架構(gòu)的技術(shù)細(xì)節(jié)與套路 PHP 進(jìn)階之路 - 億級 pv 網(wǎng)站架構(gòu)實(shí)戰(zhàn)之性能壓榨 注...

    pepperwang 評論0 收藏0
  • 如何在windows下搭建Nginx+MySQL+PHP環(huán)境

    摘要:前往下載,選擇版本。在目錄下新建鏈接數(shù)據(jù)庫成功鏈接數(shù)據(jù)庫失敗運(yùn)行之后輸出下面結(jié)果,說明可以解析文件且可以鏈接數(shù)據(jù)庫。 準(zhǔn)備所需安裝包 本次所選安裝版本是:nginx1.11.5,php7.1.0,mysql5.7.16,當(dāng)然可以根據(jù)喜歡的版本下載,為了方便管理,我在D盤下新建了wnmp文件夾,里面包含文件夾有mysql,php,nginx,www,www為存放項(xiàng)目文件夾。Nginx: ...

    Sunxb 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<