關於php的ts和nts ,你了解多少?篇文章給大家介紹的內容就是關於php中ts和nts的比較,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。
1、介紹
ts(Thread-Safety):即執行緒安全,多執行緒存取時,採用了加鎖機制,當當一個執行緒存取該類別的某個資料時,進行保護,其他
執行緒不能進行存取直到該執行緒讀取完,其他執行緒才可使用。不會出現資料不一致或資料污染php以ISAPI方
式載入的時候選擇這個版本,php以ISAPI方式載入的時候選擇這個版本。
nts(None-Thread Safe):即非執行緒安全,就是不提供資料存取保護,有可能出現多個執行緒先後更改資料造成所得到的是
髒數據,php以fast cgi方式運行的時候選擇這個版本,具有更好的性能;
ISAPI(Internet Server Application Programming Interface):通常是指被http伺服器所加載,以伺服器的模組形式運行,由微
軟提出,故只能在win平台上運行,例如win下的apache,iis[據說用fast cgi 方式工作更穩定],而linux上php
則以Apache模組或php-fpm的方式運作。
cgi(Common Gateway Interface):HTTP伺服器與你的或其它機器上的程式進行「交談」的一種工具,說白了,cgi就是一種
後台語言,其可以和伺服器之間進行通訊。此時的php是作為一個獨立的程式運行的。特色就是耗費記憶體。
fast cgi:是一個常駐(long-live)型的CGI,它可以一直執行著,只要啟動後,不會每次都要花時間去fork.這種方式
是與語言無關的、可伸縮架構的CGI開放擴展,其主要行為是將CGI解釋器進程保持在記憶體中並因此獲得較
高的效能。
cgi和fast cgi的區別找度娘。
2、選擇
通常win下php和apache組合,以isapi的方式運行,而linux下可以是apche php,php常常作為apache的模組,而nginx php時,phpfast cgi的方式,即php-fpm的方式跑。
據說php-fpm這種方式釋放了web伺服器,使其僅處理請求和並發,而php處理則交php-fpm完成,故 nginx php現在很受青睞,沒測過!
相關文章推薦:
php中isset()函數與empty ()函數的作用分析及簡單的比較
#以上是php中ts和nts的比較的詳細內容。更多資訊請關注PHP中文網其他相關文章!