时间:2021-07-01 10:21:17 帮助过:26人阅读
|
本文介绍下,在php中有关多线程编程之管道通信的例子,有需要的朋友参考下。
php多线程实现管道通信,代码如下:
fifoPath = $fifoPath;
}
// 写管道函数开始
function open_write()
{
$this->w_pipe = fopen($this->fifoPath, 'w');
if ($this->w_pipe == NULL) {
error("open pipe {$this->fifoPath} for write error.");
return false;
}
return true;
}
function write($data)
{
return fwrite($this->w_pipe, $data);
}
function write_all($data)
{
$w_pipe = fopen($this->fifoPath, 'w');
fwrite($w_pipe, $data);
fclose($w_pipe);
}
function close_write()
{
return fclose($this->w_pipe);
}
/// 读管道相关函数开始
function open_read()
{
$this->r_pipe = fopen($this->fifoPath, 'r');
if ($this->r_pipe == NULL) {
error("open pipe {$this->fifoPath} for read error.");
return false;
}
return true;
}
function read($byte = 1024)
{
return fread($this->r_pipe, $byte);
}
function read_all()
{
$r_pipe = fopen($this->fifoPath, 'r');
$data = '';
while (!feof($r_pipe)) {
//echo "read one K\n";
$data .= fread($r_pipe, 1024);
}
fclose($r_pipe);
return $data;
}
function close_read()
{
return fclose($this->r_pipe);
}
/**
* 删除管道
*
* @return boolean is success
*/
function rm_pipe()
{
return unlink($this->fifoPath);
}
}
/*
此类实现简单的管道通信*/
?>
有关php中多线程的实现方法,请参考如下文章: 理解 php 多线程的妙用 php 多线程抓取网页的代码分享 php多线程(不使用fork)实例分享 php多线程类的代码分享 php支持多线程下载的例子 |