Thread Safe 和 Non Thread Safe 的選擇?


首先,Thread Safe 是指程序在運行時需對線程(thread)進行安全檢查,以防止有新要求就啟動新線程的 CGI 執行方式耗盡系統資源。None Thread Safe 則指程序在運行時不對線程進行安全檢查。

  再來看 PHP 的兩種服務模式:ISAPI 和 FastCGI 。ISAPI 服務模式是以 DLL 動態庫的形式被調用,可以在被用戶請求后執行,在處理完一個用戶請求后不會馬上消失,所以需要進行線程安全檢查,這樣來提高程序的執行效率。而 FastCGI 執行方式則是以單一線程來執行操作,所以不需要進行線程的安全檢查,除去線程安全檢查反而可以提高執行效率。

  所以,簡單的概括就是當 PHP 以 ISAPI 模式運行服務時,選擇 Thread Safe 版本;以 FastCGI 模式運行服務時,選擇 Non Thread Safe 版本。可以通過 phpinfo() 函數頁面里的 Thread Safety 項查詢當前 PHP 版本是不是線程安全的。

注:ISAPI 和 FastCGI 無需在 PHP 中設置,其取決於Web Server(Apache、IIS、Nginx)以哪種模式與 PHP 合作完成服務。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM