PHPPthread多執行緒操作
<?php class vote extends Thread { public $res = ``; public $url = array(); public $name = ``; public $runing = false; public $lc = false; public function __construct($name) { $this->res = `暫無,第一次執行.`; $this->param = 0; $this->lurl = 0; $this->name = $name; $this->runing = true; $this->lc = false; } public function run() { while ($this->runing) { if ($this->param != 0) { $nt = rand(1, 10); echo "執行緒[{$this->name}]收到任務引數::{$this->param},需要{$nt}秒處理資料. "; $this->res = rand(100, 999); sleep($nt); $this->lurl = $this->param; $this->param = ``; } else { echo "執行緒[{$this->name}]等待任務.. "; } sleep(1); } } } //這裡建立執行緒池. $pool[] = new vote(`a`); $pool[] = new vote(`b`); $pool[] = new vote(`c`); //啟動所有執行緒,使其處於工作狀態 foreach ($pool as $w) { $w->start(); } //派發任務給執行緒 for ($i = 1; $i < 10; $i++) { $worker_content = rand(10, 99); while (true) { foreach ($pool as $worker) { //引數為空則說明執行緒空閒 if ($worker->param==``) { $worker->param = $worker_content; echo "[{$worker->name}]執行緒空閒,放入引數{$worker_content},上次引數[{$worker->lurl}]結果[{$worker->res}]. "; break 2; } } sleep(1); } } echo "所有執行緒派發完畢,等待執行完成. "; //等待所有執行緒執行結束 while (count($pool)) { //遍歷檢查執行緒組執行結束 foreach ($pool as $key => $threads) { if ($worker->param==``) { echo "[{$threads->name}]執行緒空閒,上次引數[{$threads->lurl}]結果[{$threads->res}]. "; echo "[{$threads->name}]執行緒執行完成,退出. "; //設定結束標誌 $threads->runing = false; unset($pool[$key]); } } echo "等待中... "; sleep(1); } echo "所有執行緒執行完畢. ";
相關文章
- 多執行緒操作執行緒
- windows多執行緒--原子操作Windows執行緒
- 多執行緒的執行緒狀態及相關操作執行緒
- NSThread與多執行緒操作thread執行緒
- 多執行緒和多執行緒同步執行緒
- 多執行緒【執行緒池】執行緒
- 多執行緒--執行緒管理執行緒
- Java多執行緒——執行緒Java執行緒
- 執行緒與多執行緒執行緒
- VC多執行緒 C++ 多執行緒執行緒C++
- 多執行緒-執行緒控制之休眠執行緒執行緒
- 多執行緒-執行緒控制之加入執行緒執行緒
- 多執行緒-執行緒控制之禮讓執行緒執行緒
- 多執行緒-執行緒控制之中斷執行緒執行緒
- 執行緒操作執行緒
- 多執行緒之初識執行緒執行緒
- Java多執行緒-執行緒中止Java執行緒
- Java多執行緒——執行緒池Java執行緒
- 多執行緒-執行緒概述等執行緒
- C#多執行緒系列(3):原子操作C#執行緒
- 用Pthread實現多執行緒操作thread執行緒
- .NET多執行緒(五)非同步操作執行緒非同步
- 多執行緒系列(1),多執行緒基礎執行緒
- 多執行緒系列(二):多執行緒基礎執行緒
- 多執行緒------執行緒與程式/執行緒排程/建立執行緒執行緒
- 多執行緒-執行緒控制之守護執行緒執行緒
- a、多執行緒執行緒
- java 多執行緒守護執行緒Java執行緒
- Java多執行緒-執行緒通訊Java執行緒
- Java多執行緒-執行緒狀態Java執行緒
- Java多執行緒(2)執行緒鎖Java執行緒
- java多執行緒9:執行緒池Java執行緒
- Java多執行緒之執行緒中止Java執行緒
- 多執行緒系列之 執行緒安全執行緒
- iOS 多執行緒之執行緒安全iOS執行緒
- 【java多執行緒】(二)執行緒停止Java執行緒
- kuangshenshuo-多執行緒-執行緒池執行緒
- iOS多執行緒之執行緒安全iOS執行緒