亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

如何在PHP中利用Pthread實現一個多線程

發布時間:2021-01-26 15:17:38 來源:億速云 閱讀:102 作者:Leah 欄目:開發技術

本篇文章給大家分享的是有關如何在PHP中利用Pthread實現一個多線程,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

具體如下:

<?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}秒處理數據.\n";
        $this->res  = rand(100, 999);
        sleep($nt);
        $this->lurl = $this->param;
        $this->param  = '';
      } else {
        echo "線程[{$this->name}]等待任務..\n";
      }
      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}].\n";
        break 2;
      }
    }
    sleep(1);
  }
}
echo "所有線程派發完畢,等待執行完成.\n";
//等待所有線程運行結束
while (count($pool)) {
  //遍歷檢查線程組運行結束
  foreach ($pool as $key => $threads) {
    if ($worker->param=='') {
      echo "[{$threads->name}]線程空閑,上次參數[{$threads->lurl}]結果[{$threads->res}].\n";
      echo "[{$threads->name}]線程運行完成,退出.\n";
      //設置結束標志
      $threads->runing = false;
      unset($pool[$key]);
    }
  }
  echo "等待中...\n";
  sleep(1);
}
echo "所有線程執行完畢.\n";

以上就是如何在PHP中利用Pthread實現一個多線程,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

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

AI

纳雍县| 公主岭市| 延安市| 焦作市| 南郑县| 浦县| 太湖县| 搜索| 石门县| 翁源县| 喀喇| 佳木斯市| 东兴市| 遵义市| 宁安市| 新田县| 吉隆县| 昌吉市| 岫岩| 东乡族自治县| 莎车县| 综艺| 合作市| 宁陕县| 南部县| 大新县| 田阳县| 南康市| 嘉兴市| 景宁| 武山县| 山东| 卫辉市| 司法| 云梦县| 廊坊市| 仁寿县| 房山区| 鄄城县| 阿克陶县| 诏安县|