PHP執行緒安全和非執行緒安全的區別

2021-07-10 02:20:35 字數 546 閱讀 2980

windows版的php從版本5.2.1開始有thread safe。這兩者不同在於何處?到底應該用哪種?這裡做乙個簡單的介紹。

從2023年10月20日發布的第乙個windows版的php3.0.17開始的都是執行緒安全的版本,這是由於與linux/unix系統是採用 多程序的工作方式不同的是windows系統是採用多執行緒的工作方式。如果在iis下以cgi方式執行php會非常慢,這是由於cgi模式是建立在多程序 的基礎之上的,而非多執行緒。一般我們會把php配置成以isapi的方式來執行,isapi是多執行緒的方式,這樣就快多了。但存在乙個問題,很多常用的 php擴充套件是以linux/unix的多程序思想來開發的,這些擴充套件在isapi的方式執行時就會出錯搞垮iis。而用執行緒安全版本的話頂多只是搞跨某個 執行緒,而不會影響到整個iis的安全。

因此,如果是使用isapi的方式來執行php就必須用thread safe(執行緒安全)的版本;而用fastcgi模式執行php的話就沒有必要用執行緒安全檢查了,用none thread safe(nts,非執行緒安全)的版本能夠更好的提高效率。

PHP執行緒安全和非執行緒安全的區別

windows版的php從版本5.2.1開始有thread safe。這兩者不同在於何處?到底應該用哪種?這裡做乙個簡單的介紹。從2000年10月20日發布的第乙個windows版的php3.0.17開始的都是執行緒安全的版本,這是由於與linux unix系統是採用 多程序的工作方式不同的是win...

PHP執行緒安全和非執行緒安全的區別

windows版的php從版本5.2.1開始有thread safe。這兩者不同在於何處?到底應該用哪種?這裡做乙個簡單的介紹。從2000年10月20日發布的第乙個windows版的php3.0.17開始的都是執行緒安全的版本,這是由於與linux unix系統是採用 多程序的工作方式不同的是win...

Java執行緒安全和非執行緒安全

arraylist是非執行緒安全的,vector是執行緒安全的 hashmap是非執行緒安全的,hashtable是執行緒安全的 stringbuilder是非執行緒安全的,stringbuffer是執行緒安全的 什麼是執行緒安全?執行緒安全和非執行緒安全有什麼區別?分別在什麼情況下使用?非執行緒安...