php從5.3開始支援多執行緒pthreads擴充套件,並同時支援window和linux。
pthreads可以實現多工同步或非同步執行,它提供了建立多執行緒應用所需的全套工具,預設未安裝。
安裝
window系統下:
說明:3.0版本及以上為php7專用,3.0版本以下為php5專用。
這裡以php5.5(32位)為例安裝:
選擇2.0.9版本目錄
注意
複製php_pthreads.dll到php擴充套件目錄中。複製pthreadvc2.dll到php安裝根目錄和apache安裝bin目錄下)
開啟php.ini配置檔案,增加擴充套件 extension=php_pthreads.dll 儲存並退出,重啟伺服器
寫**測試。 1
2
3
4
5
6
7
8
9
<?php
class
thread_test
extends
thread
}
$thread
=
new
thread_test();
$thread
->start();
沒有報錯即安裝成功,如果有報錯提示沒有擴充套件可先phpinfo();檢視下擴充套件是否安裝或檢視配置檔案是否修改錯。
linux系統下:
進入php安裝bin目錄下執行命令:
1
sudo
.
/pecl
install
pthread-2.0.9
如果安裝失敗可嘗試安裝低版本,安裝成功後需要修改php.ini檔案,增加 extension=pthreads.so ,以開啟pthreads擴充套件。
測試與window類似。
應用在官方文件中已經有詳細的說明,具體的可以檢視文件中 php手冊
>> 函式參考 >> 程序控制擴充套件 >>
pthreads
注意:php資源型別( php 中很多使用到 resource 資源型別的擴充套件或函式並未針對多執行緒場景進行特殊設計)在多執行緒中共享會存在很多問題,大部分資源型別無法共享如資料庫連線,檔案資源等,只有socket,mysqli 等少量資源型別可以共享!
很多示例可以在github上檢視: examples目錄中。
php 開啟多執行緒 php如何實現多執行緒
php中可以實現多執行緒,是一種利用舊的exec函式通過非同步處理方法實現多執行緒的,exec函式本身就是乙個執行外部程式的php函式。下面我們就來具體看看php多執行緒的實現方法。我們首先來看乙個示例 class execmulti function multithreadtest exec ph...
PHP多執行緒擴充套件pthreads例項
class vote extends thread public function run 收到任務引數 需要秒處理資料.n this res rand 100,999 sleep nt this lurl this param this param else 等待任務.n sleep 1 這裡建立...
PHP多執行緒擴充套件的使用
php 5.3 以上版本,使用pthreads php擴充套件,可以使php真正地支援多執行緒。多執行緒在處理重複性的迴圈任務,能夠大大縮短程式執行時間。php手冊文件 cd data tgz php 5.5.1 with config file path with mysql with mysql...