91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

如何在php項目中實現一個多線程

發布時間:2020-12-16 16:27:54 來源:億速云 閱讀:193 作者:Leah 欄目:開發技術

如何在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,移動到解壓縮文件,然后執行phpize。

如果您在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秒。

看完上述內容,你們掌握如何在php項目中實現一個多線程的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

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

AI

罗源县| 大足县| 锦州市| 郁南县| 南木林县| 泽普县| 饶平县| 宁津县| 旌德县| 宁国市| 河北省| 哈密市| 治县。| 南汇区| 铜川市| 丰县| 邛崃市| 五台县| 惠来县| 时尚| 孟津县| 富民县| 西盟| 章丘市| 丹巴县| 林周县| 恭城| 泊头市| 奉化市| 大田县| 抚顺市| 卢湾区| 当涂县| 芮城县| 曲阳县| 尉犁县| 凭祥市| 仙游县| 秦安县| 南安市| 八宿县|