中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP支不支持多線程

發布時間:2020-11-04 14:51:21 來源:億速云 閱讀:267 作者:小新 欄目:編程語言

這篇文章主要介紹了PHP支不支持多線程,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

PHP 默認并不支持多線程,要使用多線程需要安裝 pthread 擴展,而要安裝 pthread 擴展,必須使用 --enable-maintainer-zts 參數重新編譯 PHP,這個參數是指定編譯 PHP 時使用線程安全方式。

PHP 實現

PHP 實現的線程安全主要是使用 TSRM 機制對 全局變量和靜態變量進行了隔離,將全局變量和靜態變量 給每個線程都復制了一份,各線程使用的都是主線程的一個備份,從而避免了變量沖突,也就不會出現線程安全問題。

PHP 對多線程的封裝保證了線程安全,程序員不用考慮對全局變量加各種鎖來避免讀寫沖突了,同時也減少了出錯的機會,寫出的代碼更加安全。

同時 PHP 開啟線程安全選項后,使用 TSRM 機制分配和使用變量時也會有額外的損耗,所以在不需要多線程的 PHP 環境中,使用 PHP 的 ZTS (非線程安全) 版本就好。

類和方法

PHP 將線程 封裝成了 Thread 類,線程的創建通過實例化一個線程對象來實現,由于類的封裝性,變量的使用只能通過構造函數傳入,而線程運算結果也需要通過類變量傳出。

實例代碼:

下面是一個線程類,用來請求某一接口。接下來根據它寫兩個多線程的應用實例:

class Request extends Thread {
    public $url;
    public $response;
    public function __construct($url) {
    $this->url = $url;
    }
    public function run() {
    $this->response = file_get_contents($this->url);
    }
}

感謝你能夠認真閱讀完這篇文章,希望小編分享PHP支不支持多線程內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

昆山市| 含山县| 永定县| 乌审旗| 榆林市| 平南县| 于都县| 岳阳市| 远安县| 龙海市| 尖扎县| 横峰县| 乐都县| 高安市| 阆中市| 黎城县| 霸州市| 河南省| 阿拉尔市| 霍邱县| 胶州市| 宁化县| 阳东县| 彩票| 嘉鱼县| 酒泉市| 隆林| 东乌珠穆沁旗| 慈溪市| 宝兴县| 德阳市| 南丹县| 仁化县| 六安市| 裕民县| 黎城县| 绿春县| 丁青县| 江西省| 大港区| 巴东县|