php語言入門 php5 NTS和TS版本的區(qū)別,所謂的線程安全和非安全?
php5 NTS和TS版本的區(qū)別,所謂的線程安全和非安全?首先,從字面上理解:非線程安全是非線程安全,它在執(zhí)行時不檢查線程安全;線程安全是線程安全,它在執(zhí)行時檢查線程安全,以防止以新需求啟動新線程的C
php5 NTS和TS版本的區(qū)別,所謂的線程安全和非安全?
首先,從字面上理解:
非線程安全是非線程安全,它在執(zhí)行時不檢查線程安全;
線程安全是線程安全,它在執(zhí)行時檢查線程安全,以防止以新需求啟動新線程的CGI執(zhí)行模式耗盡系統(tǒng)資源。
讓我們看看PHP的兩種執(zhí)行方法:ISAPI和fastcgi。
Fastcgi由單個線程執(zhí)行,因此不需要進(jìn)行線程安全檢查。解除線程安全檢查的保護可以提高執(zhí)行效率。因此,如果使用fastcgi執(zhí)行PHP(無論是iiis6還是iis7),建議使用非線程安全(PHP二進(jìn)制文件有兩種打包方法:MSI)、zip下載并執(zhí)行PHP,請下載zip套件)。
線程安全檢查僅適用于ISAPI模式下的PHP。因為許多PHP模塊不是線程安全的,所以需要使用線程安全的PHP。
非線程安全版的php有什么意義?
非線程安全的PHP主要用于IIS,因為IIS使用fastcgi調(diào)用PHP,并附帶多線程相關(guān)的沖突處理代碼,這與Apache和nginx不同。但是[thread safety]和[non-thread safety]只在windows環(huán)境中存在。多線程模型在Linux中很少使用,官方只提供了一個版本。