老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

php多線程有哪些實現方法

小編給大家分享一下php多線程有哪些實現方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

網站建設哪家好,找創新互聯建站!專注于網頁設計、網站建設、微信開發、小程序定制開發、集團企業網站建設等服務項目。為回饋新老客戶創新互聯還提供了新城免費建站歡迎大家使用!

1、curl_multi方法

當需要多線程的時候,可以用curl_multi一次性請求多個操作來完成,但curl走的是網絡通信,效率與可靠性就比較差了的。

function main(){ 
 
   $sql = "select waybill_id,order_id from waybill where status>40 order by update_time desc limit 10 "; 
 
    $data = Yii::app()->db->createCommand($sql)->queryAll(); //yii 框架格式 
 
    foreach ($data as $k => $v) {  
 
      if ($k % 2 == 0) { //偶數發一個網址 
 
        $send_data[$k]['url'] = ''; 
 
        $send_data[$k]['body'] = $v['waybill_id']; 
 
      } else { //奇數發送另外一個網址 
        $send_data[$k]['url'] = 'http://www.abc.com'; 
 
        $send_data[$k]['body']=array($v['order_id'] => array('extra' => 16)); 
      } 
    }  
  }

2、通過stream_socket_client 方式

function sendStream() { 
    $english_format_number = number_format($number, 4, '.', ''); 
 
    echo $english_format_number;  
    exit(); 
    $timeout = 10; 
    $result = array(); 
    $sockets = array(); 
    $convenient_read_block = 8192; 
    $host = "test.local.com"; 
    $sql = "select waybill_id,order_id from xm_waybill where status>40 order by update_time desc limit 1 ";  
    $data = Yii::app()->db->createCommand($sql)->queryAll(); 
    $id = 0; 
 
    foreach ($data as $k => $v) { 
      if ($k % 2 == 0) { 
        $send_data[$k]['body'] = NoticeOrder::getSendData($v['waybill_id']); 
 
      } else { 
        $send_data[$k]['body'] = array($v['order_id'] => array('extra' => 16));  
      }  
      $data = json_encode($send_data[$k]['body']); 
      $s = stream_socket_client($host . ":80", $errno, $errstr, $timeout, STREAM_CLIENT_ASYNC_CONNECT | STREAM_CLIENT_CONNECT); 
      if ($s) {  
        $sockets[$id++] = $s; 
        $http_message = "GET /php/test.php?data=" . $data . " HTTP/1.0\r\nHost:" . $host . "\r\n\r\n";  
        fwrite($s, $http_message); 
      } else {  
        echo "Stream " . $id . " failed to open correctly."; 
      }  
    } 
 }

3、通過多進程代替多線程

function daemon($func_name,$args,$number){ 
  while(true){ 
    $pid=pcntl_fork(); 
    if($pid==-1){ 
      echo "fork process fail"; 
      exit(); 
    }elseif($pid){//創建的子進程 
 
      static $num=0; 
      $num++; 
      if($num>=$number){ 
        //當進程數量達到一定數量時候,就對子進程進行回收。 
        pcntl_wait($status); 
 
        $num--; 
      }  
    }else{ //為0 則代表是子進程創建的,則直接進入工作狀態 
 
      if(function_exists($func_name)){ 
        while (true) { 
          $ppid=posix_getpid(); 
          var_dump($ppid); 
          call_user_func_array($func_name,$args); 
          sleep(2); 
        } 
      }else{ 
        echo "function is not exists"; 
      } 
      exit();   
    } 
  } 
}  
function worker($args){  
  //do something 
 
}  
daemon('worker',array(1),2);

以上是php多線程有哪些實現方法的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創新互聯行業資訊頻道!


網站題目:php多線程有哪些實現方法
當前路徑:http://www.xueling.net.cn/article/jodpse.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 欧美大香线蕉线伊人久久 | 午夜私人福利 | 国产情侣作爱视频免费观看 | 99久久精品一区二区毛片吞精 | 亚洲国产AV无码专区亚洲AV | 国产精品久久久久久久久久久杏吧 | 国产精品国产三级国产AV中文 | 欧美成人一区亚洲一区 | 色婷婷综合久久久久中文字幕 | 国产深夜男女无套内射 | 伦乱天堂 | 妓女av导航福利 | 亚洲狠狠婷婷综合久久久久图片 | 国精产品一区一区三区免费完 | 亚洲国产另类久久精品 | 国产福利一区二区三区视频 | 亚洲精品国产乱码久久久1区 | 免费国产自线拍一欧美视频 | 插插看看| 91香蕉成人 | 欧美日韩亚洲精品内裤 | 亚洲精品一页 | 亚洲成人中文 | 久久国产免费观看 | www.中文字幕在线 | 亚洲一级黄色毛片 | 美女爆乳裸体WWW免费网站 | 一夲道DVD高清无码 粉嫩av在线播放一绯色 | 日韩国产精品亚洲а∨天堂免 | 久久久情| 啊轻点灬大JI巴太粗熟妇 | 亚洲精品专区一区8v | 一级片毛片网站 | 一级国产视频 | 丰满少妇熟乱XXXXX视频 | 国产精品成人av禁果av | 久久亚洲AV无码精品色午夜 | 男人操女人的视频网站 | 日本高清视频免费在线观看 | 欧美色xxxx | 国产永久地址 |