国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

PHP使用Pthread實現的多線程操作實例

2024-05-04 23:40:21
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了PHP使用Pthread實現的多線程操作的方法,以完整實例形式分析了php多線程的創建及使用相關技巧,需要的朋友可以參考下

本文實例講述了PHP使用Pthread實現的多線程操作。分享給大家供大家參考,具體如下:

 

 
  1. <?php  
  2. class vote extends Thread { 
  3. public $res = ''
  4. public $url = array(); 
  5. public $name = ''
  6. public $runing = false
  7. public $lc = false
  8. public function __construct($name) { 
  9. $this->res = '暫無,第一次運行.'
  10. $this->param = 0; 
  11. $this->lurl = 0; 
  12. $this->name = $name; 
  13. $this->runing = true
  14. $this->lc = false
  15. public function run() { 
  16. while ($this->runing) { 
  17. if ($this->param != 0) { 
  18. $nt = rand(1, 10); 
  19. echo "線程[{$this->name}]收到任務參數::{$this->param},需要{$nt}秒處理數據./n"
  20. $this->res = rand(100, 999); 
  21. sleep($nt); 
  22. $this->lurl = $this->param; 
  23. $this->param = ''
  24. else { 
  25. echo "線程[{$this->name}]等待任務../n"
  26. sleep(1); 
  27. //這里創建線程池. 
  28. $pool[] = new vote('a'); 
  29. $pool[] = new vote('b'); 
  30. $pool[] = new vote('c'); 
  31. //啟動所有線程,使其處于工作狀態 
  32. foreach ($pool as $w) { 
  33. $w->start(); 
  34. //派發任務給線程 
  35. for ($i = 1; $i < 10; $i++) { 
  36. $worker_content = rand(10, 99); 
  37. while (true) { 
  38. foreach ($pool as $worker) { 
  39. //參數為空則說明線程空閑 
  40. if ($worker->param=='') { 
  41. $worker->param = $worker_content; 
  42. echo "[{$worker->name}]線程空閑,放入參數{$worker_content},上次參數[{$worker->lurl}]結果[{$worker->res}]./n"
  43. break 2; 
  44. sleep(1); 
  45. echo "所有線程派發完畢,等待執行完成./n"
  46. //等待所有線程運行結束 
  47. while (count($pool)) { 
  48. //遍歷檢查線程組運行結束 
  49. foreach ($pool as $key => $threads) { 
  50. if ($worker->param=='') { 
  51. echo "[{$threads->name}]線程空閑,上次參數[{$threads->lurl}]結果[{$threads->res}]./n"
  52. echo "[{$threads->name}]線程運行完成,退出./n"
  53. //設置結束標志 
  54. $threads->runing = false
  55. unset($pool[$key]); 
  56. echo "等待中.../n"
  57. sleep(1); 
  58. echo "所有線程執行完畢./n"

希望本文所述對大家php程序設計有所幫助。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 将乐县| 华亭县| 钟山县| 浠水县| 资中县| 行唐县| 田林县| 北海市| 墨玉县| 榕江县| 资兴市| 安溪县| 鲁山县| 鸡泽县| 泰和县| 昌黎县| 广元市| 邮箱| 安阳市| 武义县| 佛冈县| 仲巴县| 普定县| 霍州市| 灯塔市| 镶黄旗| 化德县| 庄浪县| 东乡县| 巴彦县| 福泉市| 凌源市| 新乡县| 南雄市| 五台县| 舒城县| 长宁区| 全南县| 阿荣旗| 尼勒克县| 道真|