這篇文章將為大家詳細講解有關(guān)TS與NTS在php中的區(qū)別是什么,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
ts(Thread-Safety)
即線程安全,多線程訪問時,采用了加鎖機制,當一個線程訪問該類的某個數(shù)據(jù)時,進行保護,其他線程不能進行訪問直到該線程讀取完,其他線程才可使用。不會出現(xiàn)數(shù)據(jù)不一致或者數(shù)據(jù)污染php以ISAPI方式加載的時候選擇這個版本.,php以ISAPI方式加載的時候選擇這個版本.
nts(None-Thread Safe)
即非線程安全,就是不提供數(shù)據(jù)訪問保護,有可能出現(xiàn)多個線程先后更改數(shù)據(jù)造成所得到的是 臟數(shù)據(jù)php以fast cgi方式運行的時候選擇這個版本,具有更好的性能;
ISAPI
(Internet Server Application Programming Interface), 通常是指被http服務(wù)器所加載,以服務(wù)器的模塊形式運行,由微 軟提出,故只能在win平臺上運行,例如win下的apache,iis[據(jù)說用fast cgi 方式工作更穩(wěn)定],而linux上php 則以 Apache模塊或者php-fpm的方式運行。
cgi
(Common Gateway Interface):HTTP服務(wù)器與你的或其它機器上的程序進行“交談”的一種工具,說白了,cig就是一種 后臺語言,其可以和服務(wù)器之間進行通訊。此時的php是作為一個獨立的程序運行的。特點就是耗費內(nèi)存。
fast cgi.
是一個常駐(long-live)型的CGI,它可以一直執(zhí)行著,只要激活后,不會每次都要花費時間去fork.這種方式 是與語言無關(guān)的、可伸縮架構(gòu)的CGI開放擴展,其主要行為是將CGI解釋器進程保持在內(nèi)存中并因此獲得較 高的性能。
ISAPI執(zhí)行方式是以DLL動態(tài)庫的形式使用,可以在被用戶請求后執(zhí)行,在處理完一個用戶請求后不會馬上消失,所以需要進行線程安全檢查,這樣來提高程序的執(zhí)行效率,所以如果是以ISAPI來執(zhí)行PHP,建議選擇ThreadSafe版本。
而FastCGI執(zhí)行方式是以單一線程來執(zhí)行操作,所以不需要進行線程的安全檢查,除去線程安全檢查的防護反而可以提高執(zhí)行效率,所以,如果是以FastCGI來執(zhí)行PHP,建議選擇NonThread Safe版本。
通過phpinfo(); 查看其中的 Thread Safety 項,這個項目就是查看是否是線程安全,如果是:enabled,一般來說應(yīng)該是ts版,否則是nts版。
關(guān)于TS與NTS在php中的區(qū)別是什么就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。