Home > Backend Development > PHP Tutorial > 大家好, PHP 如何模拟多线程

大家好, PHP 如何模拟多线程

WBOY
Release: 2016-06-23 14:25:08
Original
807 people have browsed it

php 多线程

大家好, PHP 如何模拟多线程

纠结了好久,也不行,

b.php的代码 
/***Run*多线程机制*/function run($i){//连接服务器:注意如果你是以ssl/tls连接时,$host的值为:“ssl://www.example.com”即应加上"ssl://"前缀。//且$port值为443$host = $_SERVER['HTTP_HOST'];$port = 80;$fp = fsockopen($host,$port,$errorno,$errormsg); //连接服务器 if(!$fp){die("$errorno----------$errormsg");}else{$i        = "i=$i";//传递的数据$path    = '/a.php';//请求路径$method = 'POST'; //请求方法(POST方式)//HTTP的请求一般是GET或POST命令(POST用于FORM参数的传递)。格式为:方法 路径/文件名 HTTP/1.1/r/n(协议版本)$post  = "$method $path HTTP/1.1/r/n"; //GET方式为:"GET /test/create_file.php?i HTTP/1.1/r/n";//Host头域指定请求资源的Intenet主机和端口号,必须表示请求url的原始服务器或网关的位置。HTTP/1.1请求必须包含主机头域,否则系统会以400状态码返回。$post .= "HOST: {$_SERVER['HTTP_HOST']} /r/n";//Content-Type实体头用于向接收方指示实体的介质类型,指定HEAD方法送到接收方的实体介质类型,或GET方法发送的请求介质类型。$post .= "Content-type: application/x-www-form-urlencoded/r/n";//Content-length它指示HTTP体信息的长度(字节)。$post .= "Content-length: ".strlen($i)."/r/n";$post .= "Connection: Close/r/n/r/n";$post .= "$i/r/n";//POST方式传递数据,在GET方式时,此处不要。fputs($fp,$post);}fclose($fp);}//触发多线程   for($i=0;$i<=2;$i++){run($i);    }
Copy after login



a.php
$i = $_POST['i'];//GET方式请求时为:$i = $_GET['i']file_put_contents('d:s_'.$i.'_'.time().'.php',time());
Copy after login


回复讨论(解决方案)

坑爹的可以了, 要把 / 换成 \

来个人接一下分!!!

刚刚学习php 呵呵

function conWrite($filename, $content)  {      $filename_lock = $filename.'.lock';      while(1) {          if(file_exists($filename_lock)) {              usleep(1000);          } else {              touch($filename_lock);//加锁              $f = fopen($filename, 'w');              fwrite($f,$content);              fclose($f);              unlink($filename_lock);              break;          }      }      if(file_exists($filename_lock)) {          unlink($filename_lock);      }  }  
Copy after login

个人采集经验,一直以来都是多线程就死机。。。感觉PHP对多线程的支持不太友好

php本身就不支持多线程

坑爹的可以了,  要把   /  换成  \

a.php 代码是什么用?

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template