首頁 >後端開發 >php教程 >php如何實作多執行緒

php如何實作多執行緒

不言
不言原創
2019-01-25 14:18:0731857瀏覽

php如何實作多執行緒中可以實現多線程,是一種利用舊的exec函數透過非同步處理方法實現多線程的,exec函數本身就是一個執行外部程式的php如何實作多執行緒函數。下面我們就來具體看看php如何實作多執行緒多執行緒的實作方法。

推薦手冊php如何實作多執行緒完全自學手冊

php如何實作多執行緒

我們先來看一個範例

<?php如何實作多執行緒
 
class execMulti {
    function MultithreadTest {
        exec("php如何實作多執行緒 static_massive.php如何實作多執行緒 > /dev/null &");
 
        echo "处理完成了";
    }
}
?>

當執行上述操作時,即使在耗時的處理結束之前也顯示處理完成。

exec("php如何實作多執行緒 static_massive.php如何實作多執行緒 > /dev/null &");

由於「 > / dev / null& 」回傳的值遺失,我們不會等待回應。

因此,處理完成指示比耗時處理更快。

但是,該方法不知道耗時的處理何時結束。

不要忘記考慮採取日誌的執行,登入DB等方法會向使用者傳遞執行結果。

用於多執行緒的方法(pthreads)

最後,介紹使用PHP擴充模組pthreads的方法。

它可以比上面使用exec的方法更簡單。

①配置環境並安裝php如何實作多執行緒

請使用vagrant等準備喜歡的環境。

php如何實作多執行緒 需要使用執行緒安全版本,這是多執行緒和安全性的實作。

從官方下載線程安全版的 PHP。

存取以下內容並從圖中的紅框下載。

http://www.php如何實作多執行緒.net/downloads.php如何實作多執行緒

php如何實作多執行緒

#此外,對於執行緒安全安裝,您需要使用configure選項指定-enable- maintainer-zts。

./configure --enable-maintainer-zts

根據需要,也可以安上Apache和mysql的選項。

用以下指令確認了php如何實作多執行緒的版本就可以了。

php如何實作多執行緒 -v

②pthreads的安裝

我們來下載zip格式。

https://github.com/krakjoe/pthreads/archive/master.zip

解壓縮zip,移到解壓縮文件,然後執行php如何實作多執行緒ize。

如果您在PHP模組清單上執行pthreads,則可以執行下列操作。

php如何實作多執行緒 -m

根據環境的不同,這一塊的設定也會有所不同,可以用環境名稱 pthreads等進行檢索來尋找資訊。

③嘗試使用多執行緒

範例如下

<?php如何實作多執行緒
class pthreadsTest extends Thread {
    public function run () {
        sleep(5);
    }
}
$ts1 = new pthreadsTest();
$ts1->start(); 
$ts2 = new pthreadsTest();
$ts2->start(); 
?>

因為sleep(5)被呼叫兩次,所以需要10秒,但實際上它將是5秒。

相關文章推薦:
1.PHP中多執行緒的實作方法
2.php如何實作多執行緒實作多執行緒的三種方法        
相關影片建議:
1.獨孤九賤(4)_PHP影片教學

以上是php如何實作多執行緒的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn